Query specific key fields from x-number of tables?
Understand the problem first, worry about performance later.
This question is too broad and not a good fit for this venue.  However, as someone who works in the property and casualty industry I feel compelled to say... pump the brakes on this for a second.  If this is a hobby project... there are hobbies that are more relaxing.
This is not an easy undertaking, and I can say that I've seen many attempts at this, and they all get something wrong, especially when it comes to the problem you're describing - having multiple types of insurance contracts.
Ultimately that is what you are modeling here - a contract.  Insurance contracts have rules, they can be altered, premium must be calculated and balanced correctly, and they are highly regulated.
So the best practices here are:

Enforce as many contract provisions as possible through the data model
Anything that cannot be enforced through the model must be enforced through transaction logic
Make sure you are aware of the reporting and audit requirements of your jurisdiction

Please read this, then refer to the diagram below.  It's a head start.

This model doesn't even being to address some major concepts you will need address, such as:

Coverages/insurance lines/reporting codes
Governing jurisdictions
Limits/deductibles
Forms/endorsements
Managing customer information across policy types
Premium and policy accounting

As an aside, &quot;fast queries&quot; and GUIDs rarely occur together.  You'll also notice they are absent from the above data model.