Als kurze Antwort: Es gibt Möglichkeiten, aber diese sind allesamt nicht wirklich zufrieden stellend. Dies liegt daran, dass ein "verstecktes" (also geschickt gestyltes) Dateieingabefeld ein Sicherheitsrisiko darstellen könnte. Daher wurde vor einiger Zeit schon festgelegt, dass Dateiupload-Elemente in Formularen vom Betriebssystem/Browser übernommen werden und nicht per CSS großartig umgestylt werden können, damit sie möglichst immer und überall als solche erkennbar sind. Daher kommt es, dass Dir alle "Lösungen" zu diesem Problem wahrscheinlich nicht wirklich zufrieden stellend erscheinen werden - so ging es zumindest mir.