Then you need to account for the namespaces too. *That's* probably not going to make MySQL happy: (xx_namespace = ... AND xx_title = ...) OR (xx_namespace = ... AND xx_title = ...) OR ... I don't think there's a way to do that with IN.
(xx_namespace=... AND xx_title IN (whitelist1)) OR (xx_namespace=... AND xx_title IN (whitelist2)) OR ...
That reduces it to one term per namespace rather than one term per whitelist item. As long as you don't include namespaces for which the whitelist is empty, that should be an improvement.