Try making the global field a part of the keys between the two tables. I will assume you have some key or ID for what ever table the global field resides in. Let's refer to that as ID. Let the global field be _kg_global.
Create a calculation field in the same table, _kp_Subject Key = _kp_global & "-"&ID
Now in the records you are accessing through a portal, set up a similar text key and link the two tables through these keys. When you change the global field the key between tables will change and different records will be related. The portal will adjust automatically.
I hope that makes sense, if not here is an example from my database. I have 30 tasks each with their own ID (task_ID) and each task has multiple years of funding records. So I created the global field _kg_Year (ex 09,08,07, etc). Then the calculated key is _kg_Year&"-"&task_ID (ex 09-229900). This key links to the Funding table whose key is 09-229900. I placed a portal on my task page linked to Funding. When I change from 09 to 08 in the global field the portal now shows me my 08 funding records.
I time saver is to "allow creation of records in the Funding Table based on this relationship". Then when I want to add new funding records, I just fill in the global field with the year and type directly into the portal. The key in Funding is automatically created.
Let me know if you have questions