Try setting up a portal filter on each portal that filters for a different set of records. Assuming that your portal has a category field with the values: toys, Groceries, Clothing and school, a portal set to filter out all records except those in the school category would use this type of filter expression:
PortalTableOccurrence::Category = "School"
Use the name shown in Portal Setup | Show Related Records From in place of "PortalTableOccurrence" in your version of this expression.
This can be done with relationships and extra table occurrences.
It would require that you create in your first table 4 text fields with auto enter data.
The auto enter data would be the categories. One categorie per field.
Then you can create relationships between your original table and 4 Table occurrences of your second table (pricing table)
The relationships would be:
Table1::ID ------[=]------ Table2::Table1IdFk
Table1::Category1 ------[=]------ Table2::Category
This means that when you enter data into one of the portals the categorie would be entered automatically into the portal, together with the ID of the parent table.
This would also mean that every portal only displays one category.
You would base your 4 portals on these 4 Table Occurrences.
If you need me to make you a small sample file, let me know.