Drive piezoelectric speaker with low power MCU
To provide 6V peak to peak (thus increasing volume), you need the select speaker pin to be driven out of phase, as you suggest.

Now, nothing really prevents you to have this pin:


either driven by the PWM (with 180 phase shift)
or high impedance to shut the speaker off.


If you can't do it without external components because the MCU doesn't have enough PWM outputs, or because it doesn't allow you to configure them as required, let's use simple logic gates to do that. What you need is just an inverter gate (actually one per speaker) that has an enable input which puts the output in high impedance. You feed the input with the PWM, and the output enable with your select signal. The output goes to the speaker terminal (the other terminal being fed with the PWM directly, just like it currently is).

Of course, such a chip doesn't exist off-the-shelf. So a solution is to use a single inverter (but I'm sure you can actually avoid it by configuring the MCU to directly output a complementary PWM signal), followed by some buffer with 3 state outputs and independant output enable: 74LVC125, can feed four spakers. Typically 1uA current consumption.

If you have a lot of speakers, you'll need several 74LVC125 and their quiescent currents will add up. At some point, it may become too much. In that case, gate their supply with a small P-channel MOSFET that you turn on (using an additional GPIO) only when at least one speaker is active. Then, only the FET leakage will be consumed most of the time. In this case, however, make sure from the software that the PWM output and all select lines from the MCU are tristated when the MOSFET is off, because otherwise, you may burn the buffer chips.