Could you provide more information like how these branches are connected to each other over the network.
As long as Branch A and B can connect to each other and proper routing/switching is in place, clients of branch A and B should be able to talk to each other.
If you want to simply this, you may use WLAN tunneling, which will tunnel all the WLAN traffic to SmartZone data plane (if you are on vSZ, you have to install vSZ-Dataplane separately). Since all the client traffic from all the branch APs will hit the data plan gateway, you can centralize your DHCP and other servers. In-fact, you can use the same IP address for same WLANs for different branches.