Hi,
1. Are you sure that it has to be based on the post code and not the "state" ?
If it's based on the state of the user, it's quite easy as you can create a shipping zone for each of the 7 zone and add all the states in that zone as a sub zone of your shipping zone. Then, you can create one manual shipping method per shipping zone and voilà.
If it's based on the post code, you will have to create one shipping method per post code range. That can potentially amount to a lot of shipping zones based on how are defined the post code ranges. So potentially more work to input all the shipping prices.
2. Not per category but per product yes. In your shipping methods you can turn on the "price per product" option and then, in each product, you can configure a shipping price for each shipping method with that option turned on.