I was originally thinking of another way (posted in google groups an answer), but I think this solution is a bit neater if it works for you, so putting this as an answer...
To get them in order, you could call the next loading on completion of the the previous loading, which is what I think you were trying to do.
jsfiddle here... http://jsfiddle.net/C3q2r/4/
var handlr = function( i ){
if(i >= svg_array.length) return;
var name = svg_array[i];
Snap.load(name,function(f){
var g = f.select('g');
footpaper[i].append(g.clone());
}, handlr( i + 1));
}
handlr(0);