A number is just an identifier. It is universal in the sense that as long as your phone number can identify what you are dialing it can then route the call for you.
The question should be when will such a directory be available to the general public? A directory which would list all numbers and advise you what is the quickest and cheapest way to route your call to that endpoint.
The SIP protocol partially solves this issue. According to SIP your phone number is similar to an email address. For example if you dial firstname.lastname@example.org on a SIP phone today you will reach me. How does that work?
A SIP address like an email is divided into 2 major parts. Your name and your domain. Like email SIP uses the DNS system to figure where is the server that hosts my domain. When you call me, your phone will contact my domain and say I have a call for Moshe, where can he be reached? The server will have that knowledge based on what I have registered with him. My server will forward a message to my phone saying someone wants to speak to you, do you want to speak to him? In reality the phone will ring and if I will pick it up the message will go back to the originator – “please initiate the call”
The problem is that SIP while it is proliferating very fast is not yet ubiquitous. Many phone companies use a general directory and peer between themselves, but this is not open to the public. So for example if you are on AT&T and call a number on Cablevision, AT&T will look up the number, see that it is on the CV network and send it directly to CV via a IP peering arrangement saving money and resources for both companies.
There are a number of initiatives out there, but none have caught on yet. Unlike email which introduced a completely new medium, the phone network is based on a legacy network and change will take many years.
If we look into the future – internet everywhere, voice recognition etc. All you need to do is say out loud “Call Moshe” and a device somewhere on your body will place a call to “Moshe”. Here is the catch – there must be a directory somewhere. How will the network know where Moshe is? In order for a directory to be effective it must be universal. There are a number of open source protocols that bring us very close, but they need to be implemented. That is already a commercial and political issue