I don't like the arbitrary restrictions on character lengths. How about this?
Anyone can propose a new BitAsset with an asset descriptor provided for a low fee. It only becomes added into the list if the delegates approve of it. Then they would also have to of course publish price feeds for users to be able to start trading it. The names of these BitAssets can follow the same general rule as TITAN names except no sub-names (periods) and the names "key" and "p2p" are also disallowed. If there are zero outstanding BitAssets of a certain type, the BitAsset can also be removed if the majority of delegates agree.
For user-issued assets, you have a human-readable name to unique identifier mapping of the UIA as you said. Anyone can create a unique UIA for low cost. But for it to have a name, the creator of the UIA would need to associate a name (either one of their TITAN names or a .p2p name that they own) to the UIA. So, this would allow names such as "user.key", "token.user.key", and "brand.p2p". We would also allow subdomains of a domain owned by someone to be mapped by them to a UIA, meaning "token.brand.p2p" would also be allowed. By the way, as you can see I prefer the ".key" TLD much more than ".titan".
When displaying the various assets to the user, there should be no confusion/conflict about which asset the GUI is referring to. For example, "usd", "usd.key", and "usd.p2p" are all clearly different tokens. The first is a BitAsset and the latter two are UIA. The owners of the latter two bitAssets are also clear: "usd.key" is owned by TITAN user "usd" and "usd.p2p" is owned by the current owner of the "usd.p2p" domain. It does mean that no one is allowed to have a UIA that doesn't have either the ".key" or ".p2p" extension, which may be aesthetically displeasing to some, but I think that is a small price to pay for clarity.