Qualcosa del genere?
codice:
<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>
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 server