To add the fields use the filter 'comment_form_after_fields'
For authentication/validation of the entries use the action 'pre_comment_on_post'
To save the date and associate the images uploaded with the comment use the action comment_post which will give you the comment ID. If the user is logged in then you can also get their ID via $user_ID (probably need to make it global).
You should possibly be able to load the WP uploader into the frontend, I see no reason why not, you're just calling the right function to do so. You can at least call the WP functions to validate and resize the image. You'll need to look through the source code to find the right function names to use though.
This might help with getting the media uploader working -
http://lewayotte.com/2010/09/27/using-wordpress-built-in-media-upload/