I have some throw-away scripts for blender. They're quite ancient, so the data in blender could have changed.
export_ge.py just dumps a whole ton of scene and Blender game-engine data. To make that script I just used the Python console to dump the reflection info on blender types that I cared about and then bound whatever I cared about in the script.
game_properties.py is really just a stub that shows how to add extra meta-properties (I needed an example to always refer back to). In this stub it reads a file which IIRC is just a line-by-line list of entity types. So null/marker objects could be tagged with a name, entity-type, and 'difficulty' meta data. Could probably be easily expanded into something like those Quake editor cfg files.