The DNS is a very well thought system, I think it's one of my favorite protocols. ICANN (or any sub-agancy of it) can just decide to take some domains to make the names more "granular". A first approach I thought of in just a few seconds is, with the US as an example, taking over "state code".(com|org|net|...) and only delegate those to small business operating within one state. You get a lot of "domains" for free.