There is a rather new website that offers ZIP Code databases for the USA and Canada and some awesome free tools like a distance between ZIP code calculator and a tool that calculates all ZIP codes within a radius.
This is the link to the homepage: http://www.zipcodesoft.com/
The free tools regarding the US ZIP codes you can find here:
http://www.zipcodesoft.com/freetools
The free tools regarding the Canadian postal codes you can find here:
http://www.zipcodesoft.com/freetools-canada
What is really new with this scripts is that the distances between ZIP codes are calculated both as beeline and as road distance.