This was solved years ago in the VoIP world by ENUM, but it didn't get enough traction because nobody can earn any money with it.
Here is how it works: your phone "number" would be sip:saghul@domain.tld and you'd have a legacy alias which is a regular phone number, for example: +40317105163. Then someone which knows my legacy number may use DNS to get my SIP URI and call me for free:
dig NAPTR 3.6.1.5.0.1.7.1.3.0.4.e164.arpa
; ANSWER SECTION:
3.6.1.5.0.1.7.1.3.0.4.e164.arpa. 3600 IN NAPTR 100 5 "U" "E2U+web:http" "!^.*$!http://ag-projects.com!" .
3.6.1.5.0.1.7.1.3.0.4.e164.arpa. 10 IN NAPTR 100 5 "U" "E2U+sip" "!^.*$!sip:saul@ag-projects.com!" .
3.6.1.5.0.1.7.1.3.0.4.e164.arpa. 3600 IN NAPTR 100 5 "U" "E2U+web:http" "!^.*$!http://saghul.net!" .
3.6.1.5.0.1.7.1.3.0.4.e164.arpa. 3600 IN NAPTR 100 5 "U" "E2U+loc:http" "!^.*$!http://bit.ly/d41V3X!" .
You can put several things in DNS, the above example (real one) contains 2 websites, a SIP URI and a URL with location information (a link to Google Maps).There is an Android application called ENUMdroid which will do a ENUM query for each number you dial and it'll present a screen with it's findings: http://saghul.net/blog/wp-content/uploads/2010/02/CAP2010021...
Apple allows you to use FaceTime and iMessage with email-style addresses, lets see if they can push the model forward :-)