I don't see how the PNP version could ever work?, a better option would probably be a simple silicon diode rather than a transistor, which would give the 2.8+0.7V. Can you confirm that you've tried it with nothing?, and that it wouldn't work like that.
If it won't, then use the FET version shown above - or run the PIC at a lower voltage? - I presume you're attenuating the PIC output to the SIM800?, or you'll kill it.
However, a major issue is the choice of PIC, the 628 is an antique with low spec and VERY little memory, either ROM or RAM - only 224 bytes or RAM (split across 3 banks) making it difficult to handle large strings. An SMS message can easily exceed that.
For my original foray in to SMS I upgraded to the 16F1827 which gives you 384 bytes of RAM, and allows you to access it as one contiguous linear buffer, rather than as different banks.
Now I use more modern devices again, which offer far greater memory capacities, such as the 16F18446 offering 28K ROM and 2K RAM (as a low cost example, similar to a 16F628).