I was able to answer all of these questions except for the first one about restricting shipping to certain states. The Shopify Support team recommended Better Shipping, but I don't think that does what I need.
https://apps.shopify.com/better-shipping
It looks like it can restrict based off of area and based off of product, but it doesn't look like it will do the following: If product A can only be shipped in NY and product B can be shipped in NY and CA, then if a cart has product B and product A in it, then restrict shipping to NY only.