Yes this is possible. I am doing a similar thing with a radiation detection detection device.
My app sends a request to the bluetooth radiation device, to get a value, and then I store the value into a field, along with the GPS coordinates of the point.
The hardest part of all this is to figure out how to read from your bluetooth device. Bluetooth communicates via serial connection, and you will need to ask the manufacturer of your retroreflector to give you the protocol to read via bluetooth.
For example, if I send the letter "V" to the radiation device it will return the model number. If I send "z" it will return a radiation number.
Your retroreflector will be similar in terms of communication.
Here is a rough outline as to what one of my GPS data collection process looks like.
1) Start GPS calculation and averaging
2) Attempt to read from radiation device 5 times (in case it fails, it loops)
3) Save radiation value into field, and populate all other fields for that point
4) Save point and show on map and also synchronize with server.
5) If failed to read from radiation device, it will trigger a procedure to cancel the data point, meaning no point will be display on the map.
This all occurs under 1 button being clicked, and it takes 4-6 seconds to complete, because I have my GPS averaging set to 2 averages.
As for the code to read from your retroreflector, no one here will know, but saving a value into a field of the feature isn't too difficult. Search the forums for that part, I think I may have some code posted on how to do that.
Hope this helps.