You can query it easily enough just by joining to the lookup table twice:
select ...
from table1
join table2 t2a on t2a.IDDescGeneric = table1.IDdesc1
join table2 t2b on t2b.IDDescGeneric = table1.IDdesc2;
There is nothing wrong in principle in having two foreign keys from one table referening the same parent table - e.g. a bank transfer table might have a from_account_id and a to_account_id. However what you have here looks to me suspiciously like a
One True Lookup Table which as you can see from that link, I don't like.