First off let me say that I have never written a MapQuest program. What I am about to say is based upon years of programming experiance, a few graph theory and lattice theory classes, and a few google searches.
Well. I can't really say that there is one language or another that can handle all of the above better than the other major languages. A question you may want to ask yourself is, "on what platforms do I want my application to run?" as this will help narrow things down. Another good question is, "Is this a client/server application or a dedicated application?" (meaning will this be distributed on a CD and need no connection to a server, or will the data be on a server that clients connect to).
The backbone of your program will be a well designed database. Although there are some languages that deal with databases better than others, most of the major languages (.Net et al, C++, Java) can handle database (mostly you will be extracting data to build graph structures and search trees) activity.
If you are thinking client/server then another question to ask yourself is, "what scale are we looking at?" -- My advice is to plan BIG, or at the very lease scalable.
A place to look at some open source tools might be
Map Tools and
Open Source GIS