The issue here is that only one device can talk to the host at a time, a single UART connection can SEND to many recipients but you need a mechanism to ensure only one can reply at a time. Furthermore, the devices NOT replying must disconnect themselves from the bus or a collision of data from several UARTs will result. Even when a normal serial stream is not carrying data, it still drives the bus, you have to ensure it completely disconnect so it neither sources or sinks current from other devices. If you look at data sheets for devices like the MAX481 series you will see they have enable/disable pins that isolate the drivers from the bus so it can be shared by as many as 128 devices. This range of drivers is manufactured by many companies and they are not expensive. You can use a single pair of wires to carry data both ways (RS485 style) or use one pair for sending and another for receiving (RS422 style), the data they carry is differential and balanced meaning you can carry it over longer distances if necessary, Km distances are possible!
What you have to do is invent or use an existing protocol to package the data so it only goes to the intended recipient. All possible recipients monitor the bus all the time but keep their transmitters disabled, when a recipient sees it has been addressed, it turns its drivers on, sends its reply then disables its drivers again. It is up to you how to build the data from the host so it carries a distinguishable address and data field, for example you might send a break or a special character to 'frame' the address then a single address byte followed by the data you want to send and finally something to end the packet if it doesn't have fixed length. If all is working, you can then receive data to your UART knowing it came from the device you addressed.
Brian.