It's not hard if you know the chain. Just do a bucket brigade. As long as you know the path then just pass the message along. Have that include a data field where there is a recipient listed.
To make it simple have everyone pass the message even if it were going to the adjacent ESP. But it wouldn't be much more to make it smarter. But first get it working. I would use UDP but not broadcast. I would direct it to the adjacent ESPs.
Have a direction in the message so that the message is not resent too itself. The originator of the message sends in both directions (but not the end points) but any that pass the message only go in one direction. And I would send the message three times with variable time between. Or you can use TCP and only send once. But then you need APs.
I wish I had a need for something like this. Sounds like a fun project.