I have to thank you all for the contributions and for the variety of idea and kind of approach to my question.
Until today I haven't had time to try your hints, but during all this time I have "looped" in my mind the simple core of the question that I can resume telling: <<please print always four digit, even when they start with a zero o more than one>>.
So if we can imagine two adjacent bytes of memory on the bus of a ideal basic CPU, the operation to do in assembler are indeed easy and simple. The C language cannot do exactly the same but I cannot surrender to the idea to write so much for do so few. I always think <<If I put four zero characters into four bytes of memory and then I overwrite only the least significant characters, I finally arrive to my target.>>
This don't run well in C, because writing my value of 16 bits represented in HEX, running the sketch, if the hexadecimal value begins with zero, the value became as 3 or 2 or 1 length, and the four zeroes that I've prepared go in smoke.
But I'm lucky, I can do the opposite thing: I can add (concatenate) all the zeroes I desire after the value as also before it.
Now I show you how.
[........]
GoodHex = String(RegInp, HEX); // I put my word into a String (local variable)
GoodHex.toUpperCase(); // I don't know why the String use only LowerCase
while(GoodHex.length() < 4) // I need a four digit representation
{
GoodHex="0"+GoodHex; // Put all the blessed zeroes needed
}
Serial.println(GoodHex); // Shows the coveted result
[........]
I suppose that this solution could be more heavy than other as speed and memory usage, maybe less efficient.
In my specific case this isn't matter, because this part run only when a new 16bit value it's read from 16 push-buttons. This sketch only help the operator to read in "readable" value the position of all the 16 toggle switch. It's more easy for him to tell "A5A5" than "up, down, up, down, down, up, down, up, up, down, up, down, down, up, down, up", it's true?
My project will be completed when the data that Arduino receive, will correspond ALWAYS to what another Arduino transmit and vice-versa. At that point no one operator will stay to the terminal to read the value of the 16 traveling bits and this little segment of the sketch will be deleted.
What I surely won't delete it's my solution, your help and I hope further comments.