for header aliasing this could be done by overriding the QueriesService if you do not use AP Live, then when you execute the DT you add your own aliasing there.
If you want this to be per user then do this in a user context, see the sandbox for instance we implemented there a ReferenceCurrency which is a bespoke context. In your case you'll imlement the same logic but that context will deal with the aliasing.
When a DT query is fired you intercep it in QueriesService get the context for the user and apply the aliasing that has been defined for that user, think about keeping a default aliasing if nothing is defined for instance.
Regards,