Woocommerce disable shopping cart based on user roles

The Catalog Visibility Options plugin sounds like it would do what you want. It can disable the shopping features for “guests” and allow them for registered/logged in users.

Then if you want to add a Quote form you could use Gravity Forms + WooCommerce Gravity Forms Add-ons. You might be able to use the “conditional logic” options in GF to get it to only display the quote option for non-logged in users (not 100% sure on that part though).

The Product Add-on’s extension also gives you the ability to add a checkbox/textbox/radio buttons to a product, however I don’t think the view options can be set on that for guest/registered users.