One thing that comes to mind is to create 3 different OBiTalk accounts, and delete some devices from the existing account.
Alternatively, I think you could modify the X_InboundCallRoute for each SP of each device. I am not sure how to cause OBiTalk to not override your change, but I think that will not be a problem if you modify each X_InboundCallRoute for each SP for each device.
The multiple OBiTalk accounts may be acceptable to you, but it is not the only way.