Is there something similar to a Bloom filter that allows you to test arbitrary predicates on the set?
If you want to answer arbitrary queries, no there is nothing like this. Essentially encoding a set into a Bloom filter is a process of lossy compression so that you gain efficiency in space, but the price you pay is that the data structure can answer only a specific query, i.e. set membership. Other information might have been lost because for this query it is not important. 

As such, if you have a specific query in mind, you may be able to design an alternative data structure that satisfies your requirement.