Hi Johannes,
Just to give you a short answer before I attempt a more detailed answer (for which I haven't had a lot of time this week): the short answer is that what you're wanting to do is pretty difficult given our current quantum number system, which requires all quantum numbers to be globally the same for efficiency reasons. (Thinking of lifting this in the future if it's not too much of an efficiency hit.)
But one solution is just to read off all of the numbers inside your tensors, write these to a file, then read them into a separate code which loads them back into a new MPS but one having different quantum numbers on the indices. If you get and set these numbers through the IQTensor interface, you won't have to deal with the details of the internal storage. Note that with the new "order" method that was recently added for ITensors and IQTensors, you can say
T.order(i,j,k);
then access the i=2,j=1,k=7 element like
T.real(2,1,7);
or set that same element like
T.set(2,1,7,0.2325);