One approach is to build and use Your own framework to access Your app's objects.
I only use name mapping and aliases for basic addressing - of the dialogs, but not for the hundreds and hundreds of fields thereon.
So, in Your framework, provide a dialog object and make use of an alias to access it. For the child controls, use Your own Control objects and for their addressing Your own addressing methods.
If data or functions are scattered to some technical ui objects, You can hide this inside Your control object.
This is some work to do, but it gives You a stable and maintainable result.