You would receive better answers if you post code. An HTML form is one element in an HTML page. You can have many (this page does, for me), and you can have much HTML in and around them. They can have multiple submit buttons. So your answers would be 1: NO, 2: YES, 3: YES. That said, it really depends on how you are generating your HTML. There are things that could make what I say untrue with respect to your interface (CGI.pm, for instance), though I suspect these things should generally remain true. :-)
Update: Guessing this is CGI::Application, but what I said should still hold true. Personally, I prefer keeping the HTML (presentation layer) separated from the code, but perhaps that's a separate discussion.