Why even tie it to a button? Just have it active, with a menu option "proximity voice on/off". If it's on, you can hear others, if it's off you can't.
And for speaking, my generic out of the box xbox headset has a mute button so i can choose to talk or not - I'm sure these other third party headsets gage the same function.
Then when you join a fireteam you go into team chat, with an option in your menu to switch between team and proximity voice.