Is it possible to allow only certain members to access certain pages? i.e have category "a" membership and access only category "a" pages?

I think I am getting closer to what I am looking to achieve but still scratching my head on the complete solution. I have a couple of approaches any light bulbs welcomed! Keep bumping into walls still.

Approach 1: using the Members feature I have added a button to the member account page which I plan to add a link to a page that I have created with repeater connected to the data set of the “building” they are registered with. I have added a role for the member so only members with this permission can enter the page. I did want to use a dynamic “title page” but I couldn’t figure out how to set permission for each of the pages (ideas welcomes and much appreciated) this is why I have set up an individual page pulling the data in on repeaters from my data sets as a work around.

The problem I have with Approach 1 is being able to set an individual link on each member page i.e link for building “A” only showing for “building A” residents, I cant seem to pull this link from the member information or have not found out how to.

Approach 2: Using Dynamic pages I have as an alternative created the dynamic pages and connected to the data set added repeaters etc so now have “title” dynamic pages. is there a way to enable a function that the user can only view certain items on the “all” dynamic page? i like this option because it allows me to “show” multiple buildings to certain individuals and hide to others

At the moment i am not sure how to begin with the member filter and where/how add this in my database/member info to get the 2 elements in sync.