Regarding 1.) While the GS dataref itself is not writable, it's value is determined by the velocity vector IIRC. So when you write the rlevant data to
sim/flightmodel/position/local_vx
sim/flightmodel/position/local_vy (might not be needed, as it's the vertical component)
sim/flightmodel/position/local_vz
the GS should be calculated correctly.
http://www.xsquawkbox.net/xpsdk/mediawiki/MovingThePlane#Changing_the_Aircraft.27s_VelocityRegarding 2.) I wouldn't mind if I had to set the transponder mode and Ident through X-Plane's built in commands (see below, but you probably know those :-) ), instead of using PSX functions for the purpose of flying online.
sim/transponder/transponder_ident
sim/transponder/transponder_off
sim/transponder/transponder_standby
sim/transponder/transponder_on
sim/transponder/transponder_alt
So if it would be possible to make X-Plane think the PSX representation is just a plane with a generic Transponder in Plane-Maker, those commands should work.