Your wish is my command... or at least, I think you'll like this link :-)
http://www.cryptnet.net/fsp/zipdy/
From that page--
"Zipdy is a program for calculating the distance between two zip codes and finding all the records in a RDBMS with a zip code with x miles of another zip code. ... Zipdy is free software released under the terms of the GNU General Public License. Zipdy was written in C but is also available in PHP and perl. It runs with data from the US Census Gazetteer program. The original Gazetteer data is available here. The data is a little old (from the 1990 census) and there for not complete for newer zip codes in some rural areas, but I've found it to have nearly every zip code I checked. If you know of a source for a newer data file, please let me know."
enjoy...
-Eric