Isolate UART Signal Pins
The TXD of a UART is normally high, in idle. 

Therefore if your modem is unpowered, since the ground is still connected, some current will flow from the TXD pin to the modem. 

In fact, the IC of the modem will have input protection diodes, which clamp to its VDD any voltage higher than that. This could be also potentially dangerous, due to latch-up (and furthermore your TXD pin will be powering all the modem circuitry connected to its VDD rail...).

My suggestion is:

Put a weak pull-down in the RXD line and:

a) When you need to turn off:


Disable the UART.
Put the TXD as output low (I just checked a random PIC18, and I don't see they have a pull-down feature).
Turn off the modem.


b) When you need to turn on the modem:


Turn on the modem.
Enable UART.


In theory, by outputting a low-TXD, while the modem is enabled, you might have some troubles. In fact a low-TXD value is a start condition. But your MCU will be fast enough to complete all the step in few microseconds. Therefore:


The steps will be faster than the modem initialization time at startup.
They will likely be faster than a "bit" time too. Therefore that spurious "0" will be just ignored.
Still, stop bit will be missing, so the modem's UART should ignore any data.