With DLL changes, yes for both. For the second question I think the easiest solution is to simply replace the current unit with a new one that has the desired attributes. However,
Moderator Action: Please make sure your questions are more actionable in the future. Many things are possible once you know how to edit the DLL or understand how everything works. The purpose of this forum is not to answer what is possible or not, but to give answers on how achieve a certain feature. If you have actively started working on something, we can help you succeed with it. Answering hypotheticals does not help anyone and verges on spam.
Also, many of the things you are asking about are fairly complex. I don't want to discourage you but running complex explanations though a translator will likely frustrate both you and the person trying to help you.