thanks everybody...
i looked at the code from zipdy and it seemed pretty easy to tweak so I made zipdyacs(which isn't acs specific so much as it's postgresql specific):
* everything is self contained in a single .sql file
* the longitude and latitude within the zip code table are now in radians, which saves an extra few steps in the mathematical formula
* everything is contained in a single stored procedure now (za_distance(zip1, zip2))
* it implements caching which will dramatically speed up some implementations in which you are constantly looking for the distance between a specific set of zip codes (IE, a few locations to various zip codes in a single geographical area)
* it no longer deals with looking for zip codes in a specific radius.
once i tweak this out a bit more, I'm going to make it available publicly(this might be never). if anybody wants it, i'll email it out on demand.
thanks for the info,
james shannon