You could add a snippet to the layout that has a dataview that retrieves the user with a data source microflow.
Once you have the user in the dataview you could add a button that has the caption that displays the current company selected for the user. On the button add a microflow to open a page with the user as the parameter for a dataview that shows a reference selector for the current company. This however implies a change in your domain model. The user should have a *-* relation to the company for all companies that the user can belong to and a 1-* relation for the current company. This last relation is used for the reference selector mentioned above and you can use the *-* relation to constrain the options for the reference selector. Then in your entity access use the 1-* relation to restrict the data permissions.
Hope this helps you in finding a solution for your requirement.
This is the way I created it, and the error that appears that I do not know how to solve. I can not edit the System.User.