You can try getting past the "kickass Mexican food" problem by allowing users to rate the restaurants. Based on their rating compared to the average, you can get an idea of their expectations. Then you can expand this to ratings for atmosphere, drinks, service, etc so people can have better search criteria. It won't be perfect, but some improvement is better than none.
-Jimmy I thought that was the goal of places like geopinions.com and
platial.com and some of those home-grown mapping sites, that you could use their API and put up a list of various inputs from your data and their API would do the map/logistical work. The larger issue with doing something that your describing is the accuracy of data. I.e. what constitutes as "kickass Mexican food" in one person's mind might be Taco Bell. Having said that, you do have a good idea. I have seen some implementations of similar "related searches" on Java midlets on mobile phones. The "Yahoo! Go" thing I installed last week on my phone does some of that, including with maps. Also, some of the very sophisticated car nav systems do this too. You should search some of the Java/PHP dev. mailing lists, there are people that are talking about putting some of these things together, and they're probably always looking for more input.
