I did embedding language transforms (.mst) into MSI by following steps in this link:http://msdn.microsoft.com/en-us/library/windows/desktop/aa368351(v=vs.85).aspx
IC, not sure if this helps, but have you explored the options in Custom Actions "Set Property" and "Set Directory"? putting the CAs in certain places might yield what you wish for.
What Chris suggested should work in you case. Since you are going to create a xml, what I can see here is to import a skeleton xml (right click on 'xml file change' then ->Import, a wizard would show up), you might put some tokens in it, after import...
If it is a InstallScript or InstallScript MSI project, when you uninstall your product by clicking "Remove" from Add/Remove Program, it calls OnUninstall() in your project. If you explicitly define the function and put your privilege elevation logic ...