Since I had not tried this sort of thing before myself, and thought it was an interesting idea, I decided to conduct some local testing.
I wanted to see if it was possible to show multiple model views of the same model file, where each view was looking at a different ModelState version of it. Well, I got mixed results, which caused me to learn something new about ModelStates that I had not realized before.
When I did not have any other assembly files or drawing files open that referenced the model file I was going to be viewing, then I 'invisibly' opened that model file by code using its FullFileName (not FullDocumentName), then accessed its ModelStates, none of its ModelStates had a value for their ModelState.Document property. This was odd to me, because I knew that every ModelState variation that model file was being referenced by at least one or two assembly files, therefore I thought that there should have been a Document for each of them. So, to investigate further into this, I opened an assembly in which there were component occurrences referencing each of that model file's ModelStates, then ran this same rule again, and found that each of those same ModelState objects now had a Document as the value of their ModelState.Document property, and I was able to open a separate view of each ModelState version of that model file. But then to test further, I closed that assembly again, and tried that rule once again, and just as before, when iterating those ModelStates, none had a value for their ModelState.Document property again, so not able to open a view for each of them.
In another variation of this testing, where those ModelState documents were not available through that property, I tried a different strategy to access each ModelState version of the one model file, which included the use of the Application.Documents.Open method. When using that, we can specify the FullDocumentName, which is the FullFileName plus the ModelState name. To get that value, I used the Application.FileManager.GetFullDocumentName method, where I supplied the FullFileName and the ModelState name as I was iterating through the ModelStates. That had different results, depending on if I specified True (Visibly open it), or False (invisibly open it). One version of that testing resulted in 3 visible views where each view had the same ModelState active (the last one). And another version of that testing resulted in one view, where the 'last' ModelState was 'active'. It seems that in both cases, the act of 'opening' each ModelState Document had the effect of changing which ModelState was 'active' in the already visible views. I tried this 3 different ways with the same two types of results.
Complicated thing to try to do. 😅
Wesley Crihfield

(Not an Autodesk Employee)