Casey's idea is a good one, and Quick Copy can operate on multiple documents at the same time. If index fields are the same in the destination file cabinet, indexes will copy over, too. Then you could use a index change on multiple documents in the destination to set them to whatever they need to be in their new home.
Incidentally, Folders are sort of useful in this regard. If you make a Folder that displays all the documents you want to view, you don't run into pager limits. That is, a Folder result list will return all the documents that match, not just 100 at a time. That can be a problem if Folders are not defined strictly enough (it can take a loooong time to load 30,000 results, for example), but in the scenario where you want to see many documents all at once, it can be useful.
Folders and Quick Copy are going to get you quite a ways toward your desired result, everything except changing the indexes once replicated documents are in their destination file cabinet.
Incidentally, you could do all this via the Platform SDK if you have any folks competent in C#/.NET...