(Q1)As described by Senthil, it is certainly do-able to do what you want provided you have enough understanding how the xml file is structured. You may have to write some Java services and invoke some internal APIs which are not documented.
(Q2) This is also do-able as the packages etc. in wM are just plain old Java package structure. Again you need to have enough understanding of what happened in the background. You may have to invoke internal APIs (undocumented) as well.
(Q3) I don’t quite get what you want. wM does not have a unit test framework out-of-the box (such as JUnit), although there is a 3rd party software, namely wMUnit, which offers such functionality. Normally you’d have write your own Unit Test case services and run your service against them.
(Q4) There is no document describing how the Admin Page works, but certainly you can go to the directory structure (pub folder) and find the dsp pages and see how each one of them works and what services it invokes. You just have to reverse engineer yourself. Many developers uses Admin page as example to create their own dsp pages. This forum is a good starting point. You may find others who have done similar things. But I DO NOT recommend you to mess around with the original Admin pages unless if you know what you’re doing.
(Q5) With the version that you’re using, I can’t recall any framework for version control, but there are several practices which you can follow. You can search around this forum for examples. Alternatively, if you can’t find anything, you can go to customware’s website (one of SAG partner), it has some good tips on how to do version control
In general I do not recommend you to mess around with calling internal APIs directly. Most likely undocumented internal APIs are not supported by SoftwareAG.
You can create some wrappers around your services that call the internal APIs if you like, bearing in mind that when you upgrade your wM platform (knowing that 6.1 will soon be out of support - or probably has) there will be differences in those internal APIs. Almost certain you have to change the way your wrappers communicate with the internal APIs, but this way your “logic services” do not have to be changed. Hence, it is easier for you to do the unit tests.