Yes do check zipcode on billing and shipping steps, use event observer Or overright onepage controller and get user entered zipcode and do validated with possible zipcode it valid then customers go ahead otherwise redirect them into cart page with proper error message.
Event Observer E.X:
<events>
<controller_action_predispatch_checkout_onepage_saveBilling>
<observers>
<savebilling>
<class><modulename>/observer</class>
<method><your method name></method>
</savebilling>
</observers>
</controller_action_predispatch_checkout_onepage_saveBilling>
</events>
override controller;
http://www.amitbera.com/how-to-override-a-controller-in-magento/
Hope it helps you
-
Magento Programmer | Was my answer helpful? You can accept it as a solution.