If I understand your proposal correctly, what you are thinking of doing is a minor variation on the them of the 'One True Lookup Table' (OTLT), which is not a good idea. In this case, perhaps, OTLT stands for 'One True Linking Table'.
The problems come when you need to maintain the referential integrity of the OTLT. For starters, what is its schema?
ReferencingTable INTEGER (or VARCHAR(xx)?)
ReferencingId INTEGER
ReferencedTable INTEGER (or VARCHAR(xx)?)
ReferencedId INTEGER
The table IDs have to be watched. They can be copies of the value in the system catalog, but you have to worry about what happens when you rebuild on of the tables (typically, the table ID changes). Or they can be separately controlled values - a parallel set of tables.
Next, you have to worry about the asymmetry in the naming of the columns in what should be a symmetric setup; the OTLT connects Table1 to Table2 just as much as it does Table2 to Table1 -- unless, indeed, your relationships are asymmetric. That just complicates life enormously.
Now, suppose you need to join primary tables Table1 to Table2 and Table2 to Table3, each via the OTLT, and that the table IDs are 1, 2, and 3, and that the 'ReferencingTable' is always the smaller of the two in the OTLT:
SELECT T1.*, T2.*, T3.*
FROM Table1 AS T1
JOIN OTLT AS O1 ON T1.Id = O1.ReferencingId AND O1.ReferencingTable = 1
JOIN Table2 AS T2 ON T2.Id = O1.ReferencedId AND O1.ReferencedTable = 2
JOIN OTLT AS O2 ON T2.Id = O2.ReferencingId AND O2.ReferencingTable = 2
JOIN Table3 AS T3 ON T3.Id = O2.ReferencedId AND O2.ReferencedTable = 3
So, here you have two independent sets of joins via the OTLT.
The alternative formulation uses separate joining tables for each pair. The rows in these joining tables are smaller:
ReferencingID INTEGER
ReferencedID INTEGER
And, assuming that the joining tables are named Join_T1_T2, etc, the query above becomes:
SELECT T1.*, T2.*, T3.*
FROM Table1 AS T1
JOIN Join_T1_T2 AS J1 ON T1.Id = J1.ReferencingId
JOIN Table2 AS T2 ON T2.Id = J1.ReferencedId
JOIN Join_T2_T3 AS J2 ON T2.Id = J2.ReferencingId
JOIN Table3 AS T3 ON T3.Id = J2.ReferencedId
There are just as many references to tables (5) as before, but the DBMS can automatically maintain the referential integrity on these joining tables - whereas the maintenance has to be written by hand with the OTLT. The joins are simpler (no AND clauses).
In my view, this weighs strongly against the OTLT system and in favour of specialized linking tables for each significant pairing of the primary tables.