I think constraints is still the way to go.
For files you are publishing out of CMS now, could you get the file
name in there as an attribute?
For files that exist only on DeliveryServer (That sounds like the
case) maybe you could build something that can be used to assign the
file name as an attribute. Do a search, and with your xsl, write the
import dynament that is required to assign the file name to a file
name attribute. Then save the results, and import them, which will
create the attributes. (You're basically just generating some one-time
use code)
Then all your old files have a file name attribute, and you new ones
are kept up to date.
In you constraint, I believe you can do a containsany to see if your
file name is contained in the string of names.
Theoretically there should be a way to query the fie name, but I think
at a verity level it would be ugly.
You need to search the string, not the file name, and the string isn't
indexed.
So you'd end up doing a bunch of OR fileName MATCHES statements for
each file name in the string, and ANDing it to the query.
Wheas contains any in a constraint checks to see if your value (file
name) appears in the multivalued list.
Might this work for you?