I stumbled upon a neat iPhone app from the ARRL called iHam Locate. It's a nationwide database app that will let you search by nearest, just a plain search, set up favorites, etc. I wanna say it was expensive compared to other apps but cheaper than the paperback directory.

I found that most of the apps, that are available, use the ARRL's repeater data base. The data base uses the zip code the repeater is in to give the location of the machine.

For example; if you look up the ColCon Leadville machine it gives the location as down town Leadville (willing to bet the address of the post office) But the machine is on Mosquito Pass. So if you are in, say, Alma and are looking for the closest repeater, the app will give you Breck. But you can't hit the Breck repeater from Alma and yet the Leadville machine is a direct line of sight.