So I was thinking of another way to do it in max by manually writing a textfile that will have the names of the motions in the order that they need to be in and the speed at which I'd like them to be played back at.
Then I'd have a base polyobject in my scene that I would want to put all the motion onto. And then I'd point the script at the textfile and the directory where all the pc2 files would be.
I'd probably read in the file data first and make an array of structs to hold the data for each motion and then move onto doing all the work.
The script would then make copies of the polyobject, add a pointcache modifer and assign the relevant PC2 to each and make the start/end times according to the data in the array of structs.
Then it would add a morpher modifier onto the original polyobject with "Automatically reload targets" checked and add all the animated meshes as targets and animate the channels on and off at the correct times stored in the struct array.
Then it'd add a pointcache modifier on top of the morpher and write out a new pointcache file.
I'm not asking for advice on how to do what I have listed above. I am asking if anyone has any better/tidier/less convoluted ideas on achieving this result.