Forum Moderators: phranque
1. google "zipcode database" and you will find plenty of commercial available db's for under $50.
2. the distance is a separate issue. You need to find a db with the longitude and latitude for each zipcode. Then, google for "longitude latitude distance formula" = you can use that formula to calculate the distance between any two zipcodes or to get a list of all zipcodes within x miles of a zipcode.