Hello,
You can enable Customer and Vendor visibility restriction and this does apply based on the logged in branch. This doesn’t solve all the issues you’ve listed above, but does address some of the points you raised.
Here’s the Acumatica Documentation from the customer side (Vendors works in the same way): https://help.acumatica.com/(W(4))/Help?ScreenId=ShowWiki&pageid=2828845f-1fd4-4c37-806e-3406cb57b72e
I did a video on this when they released the vendor side of things in 2021 (Customer restriction existed a few versions before that)
You can also restrict cash accounts by branch on the Cash Accounts form to prevent picking incorrect bank accounts based on the logged in branch.
But other than that, if a user has access to multiple branches, they will be able to see all data for all the branches they have access to on any screen. For reports, most will default to the logged in branch and you can add various filters by branch onto generic inquiries to make it easier to see just information for a single branch at a time.