Multiple Texture References?

OK, I’d like to design my game so that more than one area can be loaded at one time. This will allow for near-seamless transitions from one area to another in the outside world. I wanted to know if I could have more than one integer pointer for OpenGL to use, though. Here is an example.

//Structure
struct tagAREADATA
{
short int numTextures;
int *Texture;

} AREADATA;

//Allocation for two areas
AREADATA *Area;

//Assuming success for shorter code
Area = malloc(sizeof(AREADATA) * 2);

LoadTextures(0);
LoadTextures(1);

//Drawing the scenes
glBindTexture(GL_TEXTURE_2D, Area[A_Loop].Texture[TexID]);

Would this work, or should I declare one integer pointer and somehow use it for all textures? Another way which would be easy and nice, but requires a HUGE amount of ram, would be to load all the textures used in-game into memory. That idea I am trying to stay away from.