It can be doable where a portal displays all records in multiple tables but its not a trivial task.
A pre-made solution can be found here but you have to pay for it.
You can do this easily with a simple find request. You can do this by hand or have the user enter criteria in global fields and then click a button to trigger a script that does the find for them. You can also define a relationship that uses fields where the user enters criterial and have a portal that displays the results.
Thus all the options you describe can be made to work. Much depends on your layouts, your database design and your users as to which option will work best for you.
Could this be done with the "Go to portal Row" script step? I didn't see many other options on how to display portal records once you perform a certain find request. That seems like it would only display one, I guess you would have to loop and keep adding each record to the portal somehow, until the find was done?
He wants found set results from multiple tables in one portal...