Community Help is not the place for this. Moved to ePO for better support.
If all the locations can access a central point then I'd just install a single ePO server and manage them all. It isn't unusual at all for a single ePO server to manage 50K endpoints. What you are describing is only challenging to distribute the agent. We definitely need quite a lot more information about the "locations" and how the connect to each other as networks in order to give you more help on this one.
epo is only 250 user not 50,000 user. I install epo version 5.0 . main branch 100 user single epo server with single agent server and other three locations 150 users. Other locations is not my network ,can it possiable to deploy client to other remote location.
I had a customer with same scenario, and this can be accomplish with remote agent handler and configuring with public IP address.
The create a framepkg.exe package after updating the public IP in the sitelist.xml and then installt he agent by cpying the framepkg.exe on remote servers.
So, they have the details with public IP in the sitelist.xml file to reach EPO.
Note: If you have concerns, please reply to this post, I will answer your queries.