Yes, that is true. But, if the packet you are sending from A is addressed to B, and it gets there by way of C, D, E, F, and G, does that matter? Only B will do anything with the packet, other than forward it.
When B replies, it should reply to A. The message might go directly from B to A, or it might go from B to H, I, J, C, D, Z, and R to A. Again, does it matter? Only A will do anything with the packet, other than forward it.
Yes to these two. It does not matter as long as the message is used only by the intended robots.
With series 2 XBees, the Arduino wouldn't even know that its XBee had received and forward dozens of packets that were not addressed to it.
But I have series 1 xbee.
You need to have different code on each Arduino. Running a separate sketch to put an ID in EEPROM that the posted sketch reads at run time would enable you to run the posted sketch on each Arduino. The sketch would read the to and from values from EEPROM (which would be different on each Arduino) and decide, then, whether the message was from the correct sender. If it was, it could reply with the correct recipient ID in the packet.
I am kind of lost in this paragraph. So I should have another sketch on the eeprom which has the to and from ids ?
I am going through the library you have suggested.