Your questions are very vague, on the order of "How do I make my froboz do a wingle without linking the thingamabob?" It's impossible to do everything you ask for with just a hash, so please fill in the picture. Adding some details will go a long way -- look in the Tutorials section for How to ask a question.
As to the specific question you asked, hashes are not sorted, by nature, unless you impose a sort operation on the keys or values. You can use Tie::IxHash, for example, to do something like you're implying in your item 2. The other two items require code besides just the hash.