I see. What you are describing here entails quite a bit more than just creating a “web form”, and I know of no “tool” for “point and clicking” your way to that result.
There are some RAD (Rapid Application Development) tools out there (CodeCharge, etc.) that can help an experienced programmer produce something like this more quickly, but what you are proposing really consist of several individual, or integrated, pieces of programming and does not lend itself to “out of the box” implementation.
Much of what you describe can be accomplished via modification of commonly available scripts (like a survey application, a formmailer, a list mail manager, a database tool, etc.), but you will need to find a way to integrate such code in a way that accomplishes what you would like to do.
Any of several readily available “off the shelf” formmailer scripts could be used to automate steps 1 and 2, collecting the data, emailing you the entered information, and/or storing the gathered information in a database.
Step three is simple enough: Review the data you have collected (the form mailer software you used in steps 1 and 2 will have delivered the data to you via email and/or placed it into a database where you can review it) and make your choice.
Step four is easy enough if you don’t attempt to “email the result” to all the participants (SPAM and list management issues here would complicate step 1 ). Once the winner is selected just create the appropriate page for display on your website where participants can come to view the results. You could even publish the link to that page, indicating the date the winner will be announced, on the form the participants complete.
I have no idea what you mean by “have the contest be interactive”, and can’t comment on that further until I understand what you mean. By using the submission form you have introduced some degree of "interactivity’, but other than that (or possibly providing a forum or blog w/comments where you describe the progress of the contest and let folks comment), I don’t know what you envision here.
In short, this should not be a difficult thing for an experienced web developer to produce for you, but it could be difficult to attempt yourself unless you are familiar with the technologies involved and at least passing familiarity with CGI and database programing.
The first step I would take would be to locate a Formmailer script suitable for the needs of steps 1 and 2, and get that implemented, followed by developing a strategy for using (import into a database or spreadsheet program, etc.) the received data for review.
It might help to know how your site is currently built (CMS, straight HTML, PHP, etc.) in order to ease integration of the script(s) into your site design.
A good place to start looking for such a script is Hotscripts.com, under the Form mail sections of the PHP or Perl sections of the site (I prefer perl, but others feel differently!). When you find one you like that lets you modify the form to the degree you desire and allows you to send the form results to a database as well as (or instead of) emailing you the results, you are ready to proceed.
From there on, it’s all downhill and pretty much straight webpage authoring.
Does that help at all?