Filter by field that only exists for some content types shown in view
Yes, that's doable.

I would create a separate view for strict and flexible and then tailor each to suit your needs. You may need to use hook_views_query_alter if you can't get the functionality quite right with just the view UI.

A possible simpler alternative approach is outlined in this answer here.

Essentially this involves clicking on the reduce duplicates checkbox when configuring your join in the views UI.