Instead of all of those 'if' statements, just get the right 3 characters of '000' + i
Also, if you move your code into a separate function, you can check the type of layer:
myDoc.layers.typename == 'LayerSet'
then you can pass that layer set back into the function to process the layers inside.
var myDoc = app.activeDocument;
processLayers (myDoc)
function processLayers (objectRef) {
if (objectRef.typename == 'LayerSet') {
processLayers (objectRef)
}
var myNumber = objectRef.layers.length;
for (var i = 0; i < myNumber ; i++) {
var myName = myDoc.layers.name;
//... set myName here
myDoc.layers.name = String (myNumber - i ) + "_" + myName;
}
}