(edit) maybe I could experiment with replacing the values from a payloads xml file using a global variable? ie set each tts response to include the xml pitch setting but replace that setting based on which voice is active?
It could be nice to have TTS.Pitch and TTS.Rate actions so that these could be changed in one fell swoop. Those don't exist at the moment, but could probably be added in a future release. (I'm not the developer, but I have an inside scoop and a strong intuition that this wish will be met at some point. ;-))
Your workaround in the meantime sounds clever and should work -- at the same time that you set the TTS voice, you could set a Pitch variable value. Of course, that means remembering to include the xml tags in every TTS action. A bit of a pain, but doable.
Or, if you can live with it as is for now, usually new releases of VC don't take *that* long to come out.