It's really a much too general a question to answer. As you have discovered, there are many ways to set it up. The difference lies in the details of your data and layout design. There definitely is more than one right way to do it. Be especially careful of how you implement a filtered portal. If you want user input to update the filter on the portal, you have to implement extra scripting and you may have to modify your relationship in order to get the filter to update without resorting to a refresh window [flush cached join reults] step--which can really slow down how fast a screen updates.
I see exactly what you mean, after having played around with it for a few days. Data-separation is probably a little too advanced for me at this stage, but I would like to continue reading up on it while practicing more basic stuff.
If you happen to think of any links/posts/tut's that you would recommend for this purpose, I would greatly appreciate it. (I know it's probably a broad subject, but where should a beginner start?)
Thanks for your help