Qualcosa del genere?
Per la seconda domanda, la limitazione del tipo di file, non so risponderti. A pelle direi di no, ossia che il controllo andrebbe fatto lato servercodice:<html> <head> <script language="javascript"> function addfield() { document.forms[0].innerHTML = '<input type="file" name="fileupload[]" /> '+document.forms[0].innerHTML; } </script> <body> <form> <input type="file" name="fileupload[]" /><input type="button" onclick="addfield();" value="Carica più file" /> <input type="submit" value="Submit" /> </form> </body> </html>