I recommend NOT interacting with portals using go to portal row if there is a reasonable alternative. It can be done, but such scripts are very "hardwired" into the layout's design and thus is more vulnerable to "breaking" due to future layout changes than with alternative approaches that produce the same results without using go to portal row.
To do this with out go to portal row, you freeze the window, then use go to Related records to pull up a found set of the portal records on a layout based on the portal's table. If the portal is filtered, follow up with a constrain found set that drops out the same records the portal filter excludes. You can then use a loop with Go to Record/Request/Page [next ;exit after last] instead of go to portal row to loop through the same data.
The main draw back to this approach is that if you have any script triggers such as OnLayoutExit, OnLayoutEnter, onRecordLoad on either of the two layouts, this script will trip them and this can cause unexpected results. There are ways to disable the trigger controlled scripts to avoid this.
If you do use a go to portal row script, first enter layout mode, select the portal object and then enter an object name for it in the Name box at the top of the Inspector's position tab. Then your scripts can run like this:
Go To Object ["ObjectNameHereInQuotes"]
Go To Portal Row...
The Go to Object step puts the focus on the correct portal object so go to portal row will interact with the correct portal. If the script is identical except for the portal, you can pass the object name as a script parameter and use the same script for all three portals.
Thank you - I appreciate your help!