Also, as an aside, is it possible to play the Plymouth colony maps as Eden and vise versa? How would one go around that? Simply change the name from CPS1.dll to CES1.dll?
Yes. See below. No.
Colony games are found by doing a folder search for c*.dll files, and then checking some of the exports to see that it really does have the right level exports to be a colony game. Similarly, prefixes are used to find other game types. The remainder of the name is arbitrary and mostly just used for organizational purposes. For instance, CES1.dll is "Colony, Eden Starship", and CPS1.dll is "Colony, Plymouth Starship".
To change what player you are for a given level, you'd need to edit the dll to change what each player is set as. There are two functions that control this: Player.GoEden() and Player.GoPlymouth(). If you want to change the colony you play as, then search the dll names table for GoEden or GoPlymouth, and change the call from one to the other. You will probably need to use the numeric address of the call to do this, so look both up, record the address after the call, and switch the two (or one).
If you have trouble getting the names table to display, make sure the code window is opened to some code from that module, and has the active focus. You can use the memory window to select the .text (code) section of a module, and right-click it to find an option to open it in the code window.
As for the other level types and their dll prefixes, this is from the Outpost 2 SDK project:
Colony = -1, //0xFF // c
AutoDemo = -2, //0xFF // a
Tutorial = -3, //0xFD // t
MultiLandRush = -4, //0xFC // mu(x)
MultiSpaceRace = -5, //0xFB // mf(x)
MultiResourceRace = -6, //0xFA // mr(x)
MultiMidas = -7, //0xF9 // mm(x)
MultiLastOneStanding = -8, //0xF8 // ml(x)
The "x" for multiplayer denotes the max number of players.