Q1: How do I store the non-transactional data on the blockchain?
There is no "non-transactional" data. The blockchain is a well-ordered set of transactions that may include contract deployments, function invocations and value transfers. Populating a table would be a series of function invocations that would be recorded as immutable transactions. In a sense, the data "lives" in the transaction history.
Q2: Ethers on the private network are free but I want to understand how it can work on the public ethereum network.
Ethers on the private network would be treated as counterfeit on the public chain - worthless.
Q3: How many accounts do I need? Assets can move from one location to another, does that mean each location requires an account?
Data is in all locations at all times. "Users" is largely an application-level concern. Ethereum externally owned accounts are an in-built authentication system. To "be" a user means signing transactions with a private key. What the identified user is entitled to depends on the contract design.
Nodes are replicas. Each node has a replica of the entire chain state. Users need connectivity to one node. A common pattern is to deploy one or more nodes in each organization that will participate in a private network. This, to prevent any organization from having an unfair advantage, particularly if the network involves competitors forming a private network to house something about which they all need a common source of truth.
Hope it helps.