Hi Doosan,
There is a concept called Reference user in SAP which provides access temporarily to the user.
For instance user A has access (X+Y) and user B has access to Z.Now in a situation user A needs access Z for temporary period.Then User A has been assigned with Reference user B for that access Z for a particular period,it can be a for a day only.So automatically when the validity expires the extra access also get expires and you need not modify User A Authorizations.
So for your case you can segregate other company access in a different Role and assign it to the Reference user B and assign it to User A for certain period,which helps User A to have extra access dynamically during runtime for that particular transaction for that particular period.
Hope this helps for your scenario.
Regards
Pradeep