What order do transactions appear in a block? Is it up to the miner? It seems to be random or up to the miner from what I can tell.

But to store blocks, one must keep the order of the transactions (in some position column, etc) because regenerating the block for later retrieval requires putting the transactions back in the same order.  Is this correct?
The first transaction has to be the miner's reward.  The other transactions can't be miner rewards.  Transactions have to appear after any transactions upon which they depend.  Other than that the order is up to the miner.  Changing the order of the transactions is one of the things a miner can do to change the block hash once he has tried all possible values of nonce.

I don't know what you're referring to with your "regenerating the block for later retrieval".  As far as I know blocks aren't regenerated.  They're created by a miner, passed around the network, and stored on disk.  There's no need to regenerate them.