Sounds like an excellent project for a MESH network.
The MaxStream XBee (1mW) units are fairly cheap. Even the XBee Pro (60mW) are priced fairly. You can also get volume discounts.
The data rate is only 115.2KBaud but thats plenty if all you need to send is location and status.
When you say 300m to RX unit, what do you mean? Do you mean the max distance between any smoke detector is 300m? With MESH, each node (smoke detector) will act as a relay. As long as each smoke detector is within 100m of another smoke detector or your base unit, you should be able to see it on the network.