Feasibility of a basic physical-layer wireless communications system
At a user group size of ~3 , you can safely just ignore the fact that data that you send might interfere. If you're not transmitting ultimatively slow, the likelyhood of two packets colliding is pretty small.

Your system hence is a classical candidate for simple Aloha, i.e. everyone just transmits when they have data to transmit. If there was a collision, just retransmit (typically, you wait a random amount of time before retransmitting, to avoid colliding right again). 

You should probably implement a message-acknowledge scheme, i.e. the station that the message was meant for should reply with a "OK, got it". If you get that, everything is OK. If you don't (within a certain time frame), retransmit.

Advantage of that: all the hardware you need is simply one IR transmitter/receiver system. The classical TV remote systems will work reasonably well enough.

Addressing is simply done by setting a specific address field in the custom data format you're using.



I definitely don't want to dismiss you FDMA system, though. But: you're overthinking things. What you'd effectively do is just multiply your transmit signal with a sine. You can do that within any modern MCU. No need for fancy external components. However, for this application, you could do even simpler: Go for CDMA (ha, giving you loads of stuff to google) to address each receiver differently – that is, multiply the bits you want to transmit with a sequence of symbols that is unique to each receiver, and whose cross-correlation with other receiver's sequences is as small as possible. The receivers just correlate with their own sequence – and hence get back the original bits.