I didn't get to the RSSI function but didn't see it a problem since it means reading a register during the RX mode. The level range is pretty good and linear.

The RSSI value is available to be read from a register when the module is in RX mode. This value varies with the other transmitters signal strength reaching it. The value will of course be digital but have a minimum to maximum value. There will always be some value there due to noise or other transmitters on same channel.

Here's a simplified example of using it in your app, keeping the timing between TX and RX from module to module in mind:

Base changes to TX mode and sends addressed query message to sensor
Base changes back to RX mode and begins reading RSSI register

Addressed sensor receives message and changes to TX and sends an ACK of some sort
Sensor module reverts back to RX mode

Base monitoring the RSSI records the value during valid message from sensor.

Since you want to "talk" to the closest sensor, query the others in the same way then choose the one with the highest RSSI value after comparing all RSSI's.

This is a general description of the signal strength. There are other factors that will cause it to vary like interference, fading, etc. but it's a pretty good indicator to work with.