USPS or another shipping lookup provider would be the only way to do shipping based on zip code in Cafe Commerce.
eCart is an extension that we offer that you could use to build an eCommerce site.
you could set up a database table that contained zip codes and the shipping rate for that zip and use a lookup search to find the shipping to apply in eCart:
http://www.webassist.com/dreamweaver-extensions/ecart