Путь к ProgramData задается в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
Но менять расположение в работающей винде не стоит, т.к. там полно "внутренних" ссылок, а так же на ProgramData есть ссылки в других местах. При переносе большая часть ссылок будут недействительны. Трудно даже предположить, что отвалится после подобного действия.
Вижу единственный рабочий вариант - изменение расположения ProgramData в процессе установки винды с помощью файла ответов, может есть и другие варианты задать новое расположение папки при установке.
Но, на сколько я понимаю, перенос ProgramData вам ничего не дасть, т.к. эта папка одна для всех пользователей, она и в новом месте будет такой же.
По AppData. Перенесите целиком профиль пользователя. Вместе с ним перенесется и пользовательский AppData. Ручной перенос профиля описывал тут несколько раз.
Как вариант - перенести конкретную папку из AppData и создать на прежнем месте ссылку в новое местоположение.
Но, пользовательская AppData находится в пользовательском профиле и она уже изолирована от других пользователей. Так что о какой дополнительной изоляции идет речь.
И еще. Динамические библиотеки (на сколько я понял речь идет о такой библиотеке) открываются в режиме многопользовательского доступа. Т.е. несколько программ могут легко использовать одну и ту же библиотеку. Это так работает всегда на системном уровне и изменить это нельзя.
Это значит, что внутри библиотеки блокируется какой-то другой ресурс, который становится не доступным другим пользователям. Вам надо выяснить у разработчика программы что там блокируется и как с этим бороться.