I have used a really small peizo speaker (as opposed to a buzzer) and fed with a low (ish) C frequency 220hz and that was actually louder than the buzzer..
I use Soberton GT111P piezo speakers that look very much like what you posted. I usually toggle these piezo units at 1 ms intervals to produce a 500 Hz tone but then I noticed that they're much much louder when driven at the recommended 2 kHz resonant frequency (toggling at 250 us intervals). Not sure if you'll see the same result with your particular piezo.
Some of those piezo units can be quite loud if you drive them with the proper current. The PIC pin won't be able to provide enough, but it's simple enough to stick a transistor between the PIC and the speaker.
If you buy a "buzzer" unit that has internal oscillator (you can tell this type as they have a frequency written on the side) it will be much louder as it has been built to operate at the resonant frequency. Some will work ok from the 25mA allowed from a PIC output pin, some will require more current so with those you may need a transistor to switch the power. There are lots of examples that will be annoyingly loud from 20mA though!
Firstly it is not a piezo buzzer but a piezo diaphragm.
Then you need to find the exact resonant frequency via a variable oscillator.
If this is not load enough, you need to put a transistor between the output of the micro and the diaphragm.
Then put a 10mH choke across the diaphragm. Make sure the choke is at least 30R-40R