Take a look at this program ( I wish I was as talented as this author).
http://scratch.mit.edu/projects/10045024/#editor
Notice the layering of the trees as the cat walks and then look at the sprite code. It might give you a hint at what is going on.
I am not sure if I am knowledgeable enough about this subject, but here is my attempt at answering your questions:
1. If you place a sprite in front, it is now the top layer. You do not have to adjust any other layer unless you want to adjust those as well.
2. People use very high numbers, well beyond the number of layers actually present to make sure they move the layer to the back layer.
3. This is really dependent upon what visualization you are trying to accomplish. If you have a fixed set of layering in mind, I would do that when I first initialize the program when receiving the green flag. You can put in a loop, but you are just eating CPU time. Not a big deal and in either case will work. But if you wish to change the layering as the program is running, you would need to add the logic either in a loop, or from receiving a broadcast to change the layering.
4. I was not able to quickly remix the program to do what you suggest. I suspect it has to do with the cloning and stamping going on. To clearly understand how this all works, I would write a simple example for myself. Perhaps start with 4 sprites and see if you can adjust the layering. Then you can add cloning and then see how that affects layering. I would do the same with stamping. Finally I would mix both cloning and stamping and see how things are affected. When trying to remix or even debug, it is often very helpful to build a small prototype program so that you can control the number of variables.
Alan