I added a modified universal search to
the code repository here. It will work for field values in multiple tables, but I wouldn't suggest if for millions of records.
You could copy the database, and put a limit of say 5000 records or some number to see what the performance is like. I'd like to know how it works with real volume.
You can use a user defined function to do repeated things.
It would be helpful if you could post a copy of your database -- remove confidential/private info first. We don't need a million records for testing.