The short answer is no… The Arduino doesn’t have a true digital-to-analog converter… It can’t put-out sine waves and there is no volume control.
You can control the volume of a rectangle wave by changing the duty cycle. A 50% duty-cycle (square wave) will have maximum volume. But, changing the duty-cycle changes the character of the tone (without actually the fundamental frequency or “note”).
I believe a regular Theremin puts-out sine waves (or near sine waves), close to “pure tones”. A square or rectangular wave is very synthesizer-sounding.
Also, you won’t get much range from a piezo transducer. These are useful as tweeters (high-frequencies), but for example you wouldn’t want to listen to the radio or TV with only a piezo.
And, you want a speaker/transducer, not a “buzzer” which has it’s own sound-generator built-in.
If you want to use a normal speaker, you’ll need a little amplifier. You can’t drive an 8-Ohm speaker directly with the Arduino. Or, you can use “computer speakers” where are active/powered with a built-in amplifier.
The buzzer is connected by a single analog pin to the board, so I’m not sure how I can give it 2 different inputs.
I think you are confusing inputs and outputs. You could have one input controlling pitch and another input controlling volume, with output and one speaker. But, you need an audio shield with a true analog-output.