> Q: Is it possible to apply a style to a button on a file input?

Theoretical A: No. CSS does not specify any way to select sub-parts of a
form field. And it wouldn't really be appropriate to do so anyway since
it's dependent on the host - some platforms don't even have buttons in file
upload fields.

Technical A: Yes, by hiding the real upload field and replacing it on-screen
with a DHTML-driven analogue over which you have full styling control. It
only works on IE, however, as the other browsers won't respond to a click()
method by opening the browse dialogue box.

Practical A: No, because for some reason (security? bug?) IE/Win won't
submit a form containing a file upload field that was chosen by the user
after its browse box was opened from script.