You don't need the portal. you can take the fields out of the portal and put them directly on your layout and this still works.
And this is a method similar to a concept that I myself am using with increasing frequency.
Use a relationship with "allow creation..." enabled that does not match to any records.
Use Set field [ RelatedTable::Field ; "some value here" ], or (in your case) user data entry, to create the related record
Then use Set field [ RelatedTable::matchField ; "" ] to clear the matching value to "break" the link to the new record.
This avoids the following issues:
a) no script triggers are tripped by changing layouts to create a record in the portal's table as a commonly used alternate script does
b) tab controls, portals all stay in their current state as you haven't changed layouts. (but the portal might change if you need to commit records.)
The downside to this method is that you have to add yet another table occurrence to your relationship graph just to support this method of adding related records.
Thanks Phil. That's actually much better for me as there some portal behaviors that I didn't want.