That's right. Kaburke and I have traded a few pm's, and I think I can now make this all completely clear.
The 2-digit FormID prefixes
actually stored in a particular data file (esm or esp) relate only to that file and it's master file list, indicating the index of the source file in that list for a particular record.
When loading a number of data files in an editor (like the GECK, FO3Edit, TESsnip, etc.) or the game, a new set of 2-digit prefixes are generated according to the file load order. This needs to be done so that every record from every file has a completely unique 8-digit FormID.
If you load
only one particular file and its own list of master files (such as with one of the methods I described above), the 2-digit prefixes you see will by necessity be the same as those actually stored in that file.
For the most part, this is all academic, because the new CREditor simply shows all the records in the chosen file. It has no editing functions beyond creating the MESG record to hold the critical record information, so it's not actually loading any other files, or displaying any FormID prefixes other than what's actually stored in the file. So like kaburke said, if you use the CREditor for this purpose, you don't have to worry about any of this.
I was confused before because I didn't realize those prefixes were actually stored like that in each file (but after kaburke told me that, I realized it wouldn't make much sense to be done any other way), plus it seemed obvious to me that you'd only want indexes referring to the file and its master list alone for this purpose, so I didn't really know what he was getting at.