This is actually possible now! You can create a new Deal through a workflow and populate the Deal properties with Contact Properties.
Just use a form submission as the starting criteria for the workflow and then create a new Deal and populate the Deal properties with the properties from the form submission.
Since workflows are contact-based, the deal will automatically be assigned to the contact who submitted the form.