Custom create account form included in a create content form
All of this is possible, but you will need to write a bit more code for it to work.

First, I suggest you use LoginToboggan.  LT provides a workflow for validating a user's email address which you can hook into either by code or perhaps with the Rules module.  LT already has the framework for tracking if a user is verified or not.  It will be up to you to write the code to create the user (not too hard) and to create the node as published or unpublished depending on the status of the user.

Second, you will have to decide what to do for verification (what if they enter the right email but wrong password?).