I haven't done much with multitexturing myself, but looking at the spec it says that there is a matrix for each texture unit. It sounds like the texture matrix that is affected by matrix operations depends on which unit is selected by glActiveTextureARB... so I'm assuming you could do something like so:
Code:
glActiveTextureARB(TEXTURE0_ARB);
glMatrixMode(GL_TEXTURE);
// do transformations for TEXTURE0_ARB's stack
glActiveTextureARB(TEXTURE1_ARB);
glMatrixMode(GL_TEXTURE); // Not sure if this is necessary, but wouldn't hurt
// do transformations for TEXTURE1_ARB's stack
Note: I'm reading this from an old spec I printed out long ago, and since the multitexturing is part of the core OpenGL 1.2 functions, the ARB extensions probably aren't necesarily needed anymore...