you could just "Add New Record / Request" in Find Mode to add ( or omit ) a second requirement ( and this can be scripted )
if this is too slow, look at the fields used in the "find"
I suspect many are not "stored" or indexed
if not, you can try finding first on any indexed fields, then "constrain found set" based on the unstored calcs
but with 35,000 found records, most other "tricks" may be just as slow
> Sometimes the user wants to include only the Contacts that appear in both Found Sets.
Other times, they want only the Contacts that are in Search 1, but not 2
Have you looked at building return separated lists of the record ID's from each found set, then use Bruce Robertson's AntiFilter Custom Function for the comparisons?
Bruce claims it is fast over thousands of records but you'd need to test that for yourself. It also avoids the recursion limit.