Is it possible to assign a shipping rate to an entire category?

Yes, you can assign an attribute "shipping_type" to the entire category, and then use this attribute to set the rate.

See more details on Shipping Table Rates page
Rate the answer?