Make a calculation field ('cProductActive') in the table 'Products'. The calculation is "yes".
Now add a rule to the relationship: Products::cProductActive = Lots::isActive
If this spoils the relationships in other functions, then make a new relation specially for this conditional valuelist, with the two rules, and base your valuelist on this new relation
Your workaround worked very well without any side effects.
Big thanks for your effort.
I would not call this a workaround. It is a normal and valid definition of a relation.