To minimise traffic between sites whats the best way to configure the update topology?
Promote the server at site B to be GUP
Would setting up a GUP on the server in site B be the most effective way to miminise traffic as well as minimise administrative overhead?
The GUP proxies only the definitions.
If I install a GUP at site B do clients ever need to talk to the SEPM? How much data would be transferred from the clients at Site B and the SEPM?
Yes, clients need to talk to the SEPM. Ideally few MB's, depending on your clients logging settings (the more events you set them to log, the more data they will send to the SEPM).
And lastly, how much data is transferred regularly between the SEPM or GUP and the clients? Delta update changes or full updates?
see J007's answer