Still a long way to go, but I've at least discovered the interface ID for a BuildingOccupant is 0x87dda3a9, so I can at least get (tested) and probably set (not tested yet, it's late at night already) building names when they grow. Now I just need to be able to reasonably categorize buildings so I can have my dll read a file of potential names to choose from. Seems like that should be easy enough by checking against occupant group IDs that are already well-known... For now it's just popping up the building name in a message box on an InsertBuildingOccupant message, but still, nice!
Other things that seem possible: setting the window as borderless on load without relying on a whole separate .exe to set the flags on the window handle, making a cheat to mark all buildings as historical, creating a built-in (possibly quiet) autosave instead of (again) relying on a separate .exe which this time just sends the Ctrl-S keystroke, and maybe even custom keyboard shortcuts even for tools/commands that don't normally have one.
@simmaster07 if you've come up with any more documentation or usable GZCOM source code since... (checks GitHub again) early 2018... I'd be thrilled to see it, but thanks for the work you've done already! (I've forked your gzcom-dll repo.)