Za prvi deo pitanja ne znam odgovor, ja sam to resio tako sto sam preko js-a dodavao polja za fajlove po potrebi. Ime polja treba da bude name="whatever[]".
Uglavnom, kako god, na stranici gde obradjujes $_FILES ces dobiti array sa podacima o fajlovima. Uradis foreach loop kroz taj array, i svaki fajl tretiras posebno. Fajlove cuvaj na serveru, a imena fajlova u bazi...
A za bazu ne kapiram sta ti konkretno nije jasno, ako hoces da jedan korsnik uploaduje vise fajlova i da na osnovu njega nadjes te fajlove, mozes da kreiras novu tablelu u koju ces upisati korisnikov id i ime fajla koji je uploadovan...
Evo ti klasa za obradu uploadovanih fajlova koju ja koristim:
http://www.verot.net/php_class_upload.htm
Evo jos jedan koristan link:
http://php.net/manual/en/features.file-upload.multiple.php