I can think of 2 possible ways to achieve this:
- Create a separate Web Part with your form only, and add that web part in the same page as the XsltListViewWebPart.
- Create a custom Web Part in Visual Studio that has both the form AND the XsltListViewWebPart. You can override the CreateChildControls (and other methods) to have both components coexisting in the same custom Web Part.
Custom WebPart: http://msdn.microsoft.com/en-us/library/dd583168(v=office.11).aspx
Programmatically adding XsltListViewWebPart: Creating an XsltListViewWebPart programmatically: Columns & toolbar
Regarding limiting the items, there's an option in any list to "only show items created by the user".
http://social.technet.microsoft.com/Forums/sharepoint/en-US/318d300e-5cca-4aa7-afdb-ba3ab5a467cf/how-to-set-permissions-so-that-users-can-only-seeedit-thier-own-items-on-a-list?forum=sharepointgeneralprevious
[Update: extending the "Custom Web Part" idea]
You are on the right track here: Reusing the XsltListViewWebPart
The idea is that you add BOTH the Form user control and the XSLT List View Web Part to a custom web part (let's call it ListViewFormWebPart).
When the user clicks "Submit" on the Form, the postback is fired and you can refresh the XSLT List View Web Part on the "Button_Click" event.
To avoid a full page refresh, you can wrap everything in an UpdatePanel.
Regarding the point about hiding the "Add New Item", you can easily achieve that with CSS or jQuery, or with other alternatives as shown here: Hide the "Add new Item" option below the sharepoint 2010 list