Getting the Zip Code database is not a problem. You can try this for free: http://zips.sourceforge.net/
Although I do not know how relevant this is, or you can use one of many suppliers. We have an annual subscription to ZipCodeDownload.com , and maybe for $ 100 we get monthly updates with the latest Zip Code data complete with the Lat / Longs of Zip Code Center of Gravity.
As for requests for all zip addresses in a certain radius, you will need some spatial library. If you just have a table with zips with lats / longs, you will need a database oriented mechanism. SQL Server 2008 has the built-in feature of both open source and commercial libraries that will add such features to SQL Server 2005. The open source PostgreSQL database has a PostGIS project that adds this feature to this database. It is here: http://postgis.refractions.net/
Other database platforms probably have similar designs, but the ones I know about. With one of these database-based libraries, you should be able to directly query any postal codes (or any rows of any type that have lat / long columns) within a given radius.
If you want to go a different route, you can use spatial tools with a mapping library. There are also open source options here, such as SharpMap and many others ( Google can help ) that can use the free Tiger maps for the US as a data source. However, this route is somewhat more complicated and perhaps less efficient if you need a radius search.
Finally, you can watch the web service. This, as you say, is a general need, and I believe that there are some web services that you can subscribe to, which can provide all zip codes within a given radius of the provided zip code. A quick Google search showed this: http://www.zip-codes.com/free-zip-code-tools.asp#radius But there are MANY resources that will be used to search on this issue.
source share