If its only concerning model states (appearance) then there's a harder simpler method...
Basically, assuming there was a chest in bedroom number 4 of a castle, you'd have the program load the model with a name something like;
LOAD OBJECT "Room4Chest1.X",1
You'd have two models in the same directory, one of the chest open, and one closed. In the beginning, the closed chest's file name would be Room4Chest1.X. Once the user opens the chest, you'd rename Room4Chest1.x (the closed chest) to Room4Chest1B.x,... or something like that, and then you'd rename the open chest file to Room4Chest1.X. This way, the program always loads Room4Chest1.X, which will be the correct model assuming you programmed it correctly to rename the files.
Im not sure which would be slower, as using a huge amount of variables (the list would probably be huge for things as small as chests that can be found everywhere in RPG-esk games), would lag a fair amount, but then again manipulating files can take up some speed if you do it too often.
Anyhoo, my two cents.
- RUC'