Yes, all that is possible either by getting the actual current state of feature/control, and/or by using variables to keep track of a given state.
Listening can be toggled using the native "Recognition Global Hotkey" option on the "Hotkeys" tab of the VoiceAttack options window (mouse and joystick equivalents are also available there), though those activate when the key is pressed rather than when it's released.
To toggle on release, you'll need to create a command and set up its hotkey/button with the "Shortcut is invoked only when all keys are released"/"Shortcut is invoked only when all buttons are released" option checked, containing something like
Toggle VoiceAttack listening
Begin Text Compare : [{STATE_LISTENING}] Equals '1'
Say, 'System listening'
Else
Say, 'Deactivated'
End Condition
The command for toggling a key can check the state of that key, E.G.
Begin Device State Check : Keyboard Key 'Backspace' Is Not Pressed
Press down Back key
Say, 'Shift on'
Else
Release Back key
Say, 'Shift off'
End Condition
Note that pressing and releasing the physical backspace key would also cause the holding down to stop, so you'd want another command that monitors the release of that key to notify of the state change.
Press F1 while VoiceAttack has focus to open VoiceAttackHelp.pdf in your default PDF viewer for information on VoiceAttack's features.