Hello Chris,
It's possible to use Stop.StopCodeFromWhichToCopyState and Tremulant.TremulantCodeFromWhichToCopyState to copy states from objects of the same type (and to set AccessibleForMIDIInputAndOutput=N for either), but it isn't possible within the CODM to copy states between Stop and Tremulant objects. I don't think there's any way you could achieve exactly what you're hoping for within the CODM, I'm afraid.
However, the user could potentially auto-detect both the virtual stop switch and the virtual tremulant switch to the same MIDI switch/piston.