There are several levels to this.
Create a Privilege set where the access to the records in some of the tables is limited to where Q is the same as Y
Assign Accounts to this privilege set where the Account name is the same as Q
Create a Globabls table that is related to all other tables in an X relationship
Define a field to hold Q... when a person logs on their Account name is entered in Q
In all other tables have a Y field which auto enters the Account name when a record is created
If you do not care about it being secure so that people can change what is in Q you don't need the security... you just need a valuelist assigned to Q and a relationship between the global::Q field and the Y field in the other tables.