It needs to be part of the code.

On the TX end, setting the TX9D bit (TXSTA.0) indicates that you are sending a "Device Address". Put the address in TXREG. Then when it's done sending the address, clear the TX9D bit and send the data. It needs to be either a fixed size packet, or have a terminator at the end so the receiving end knows when it's finished.

On the RX end. With ADEN = 1 (RCSTA.3), the USART will ignore everything that doesn't have the 9th bit set (data).
When it recieves a byte with the 9th bit set (an address), it will set the RCIF interrupt flag.
You can either poll the flag or use interrupts, doesn't matter.

So now you check the received byte against the device's address, and if they match, turn off the ADEN bit and the USART will receive the data like normal. You can also have a Master or even Group addresses if you want. Address 0 means all devices listen, 1 = any device in Group 1, 11 = single device #1. Or however works best for you.

After it's done receiving data, turn ADEN back on, and it will ignore everything but addresses again.

HTH,