Another transistor can be added to get close to 0V.
I've tried simulating it (LTSPICE IV), with general purpose parts, but it does not seem to work very well.
At 500KHz, it basically does not seem to work.
At 250KHz, it does work, but takes ages to switch states. So may not be very efficient.
Simulations can get things WRONG. Since it is NOT my project, I DON'T want to build it for the OP, sorry!
I've had a quick look (so could easily be mistaken), at what is going wrong.
When the PIC's output port pin (input on diagram), attempts to switch off. There is some current in the pair of 1K resistors (while it is transitioning, and the bottom pair of transistors are trying to switch off), so the relatively weak port pin has a few hundred (very approximately) milli-volts on it.
So we have about 700 milli-volts on the bottom pair of transistor bases, so there is only a few hundred milli volts across the 1K resistors. So not much current available, to fight the stray and base capacitance's. So it takes quite a long time. The simulator seems to say this is about a microsecond, which for a signal which changes state about every microsecond, it is too slow to keep up. (500KHz = 1,000,000 voltage transitions per second).
To make matters worse, while the top transistor is conducting, the lower pair of transistors, ALSO begin to conduct, potentially causing lots of current to flow. I don't fully understand why yet. But the lower right most transistor, switches on, well before the lower left hand one.
tl;dr
Bottom right transistor conducts while the top transistor is still full on, potentially causing lots of current to flow.
The bottom left transistor struggles to turn the top transistor off, because it is held up, by the diode and the top conducting transistor.
Eventually (about 1uS), things settle down, but it is TOO late, because the 500KHz, has changed state again. (I set it to 50% on off duty cycle).
I have NOT spent enough time with it to be sure of the exact faults/diagnosis, I also may have NOT chosen the best component parts. So if you want to say the circuit is still 100% fine until proven otherwise, or insist it is built and tested, rather than simulated. I already agree!
I have NOT properly checked how bad the possible shoot through condition(s) are, because I had spent too much time with SOMEONE ELSE's project, as it is.
Also the FET the OP is specifying, p-channel, seems to be fairly slow as well. Making 500KHz, even more out of reach, as well. (Yes it can reach that frequency, but spends too much of its time, potentially partly on, which would probably make the circuit inefficient). I did NOT use the OPs specified part, as it was NOT built in to the simulator. I did not want to download the correct spice model, as I don't want to spend that much time on it.
If it was me, I would go for the Fet driver chip and be done with it.