We actually had some fairly in-depth discussions about that idea but ultimately decided it wasn't tenable. The main problem is that when you need to lookup an account in the account tree with only an alias you have to basically search through every account until you find it because you can't use the fast lookup properties of the trie structure. The same sort of issue also applies when registering an alias, other nodes basically have to check every other registered alias and make sure the alias in question hasn't already been registered. I believe there were also some other issues with the idea but I can't remember them off the top of my head.
Oh yeah I think I get you. I'm still pretty clueless about how the trie works, but what if instead of aliases for an account the names were legitimate account addresses? Basically you wouldn't differentiate between a namehash and a pubkeyhash, either could be used for trie lookup but they represent different types of accounts. A 'name' account would have a stored pubkey (or pubkeyhash), but you would only be able to pay to the name. To spend you provide the name and a sig (verifiable against the account's pubkey), so again the trie lookup would be the same namehash/pubkeyhash search. Would that work or have I been up too long?
EDIT: This is the account structure which may clarify
Account{
uint160 AccountKey (either pubkeyhash or namehash)
uint160 PubKeyHash (only required for namehash)
uint64 Balance
}