Bytes. Fair size depends on your site. How much are you paying for bandwidth? How large do you want the pictures people upload?
The request gets back the error from CGI itself. I don't think you can modify the error message, but I'd have to dig through the guts of CGI.pm to be sure. Certainly the docs don't seem to indicate any way for you to change the message or to detect this error has occured.
No idea. Can't even find $CGI::$max_num described anywhere. (Are you sure you need that many $$ in there?)
You can only upload one file per request, so your question does not apply.
You can only upload one file per request, so your question does not apply.
Where did you pick up that idea? You can upload as many files per request as you'd like... there is no limit (in number anyhow, size is a different matter).