Meanwhile, I can't even figure out how to buy domains with my name in them from people who just buy them and sit on them.
The internet's implementation of name resolving is wrong. If you type "apple.com" you should get a disambiguation page saying "Did you mean the grocery store, the record company, or the computer company?" and from there you can reach the desired website. Somewhat like how it works in Wikipedia. Unlike land, names are not a scarcity and can be shared. So why pretend they are like land?
You're right that names themselves are not truly scarce*, but "convenience of being referenced by a name on the internet" most certainly _is_ a scarce resource. There can only be one "first resolved entity" - this is why companies invest in SEO**. So it seems like what you're actually arguing for (and apologies if I'm misrepresenting you here!) is a situation where it's not possible for the average internet consumer to directly reference a particular domain, but rather where all name-resolution queries _have to_ go through a hypothetical unbiased "top-level" search engine - one which indexes not documents, but domains. Is that right?
If that's the case, then we've then opened up several other problems: - who decides the order in which those results get displayed? You may not think it matters, but I can promise you that NEO ("Name Engine Optimization") would then become a lucrative industry. Apple-the-computer-company certainly wouldn't stand for being the third result for apple.com - how do direct links and bookmarks work? - If there's some sub-identifier ("apple.computer.com" resolves directly), then who assigns those sub-identifiers? If ICAAN or a similar organization, then we're right back at the current situation, but one level deeper - the IT company for the Apple grocery store would be fighting (with their wallet) against the Apple Computer company. - If direct links only work via IP addresses, well, the average consumer wouldn't be delighted with that; nor would print advertisers trying to share a human-memorable address
It's a tempting idea, for certain, but I can't see a way of implementing this that doesn't immediately give rise to the same problems one layer deeper. You've clearly thought about this more than I have, though, so I look forward to hearing more about it!
* though to an extent, they are; since there can not practically be multiple items of a given name within a category - if every man was named John, then we would need some other way to distinguish them, and so "John" would _become_ their name
** where, here, the "name" is a search term rather than a specific one-to-one address - and, yes, I recognize that that's not _quite_ the same thing