I believe this has to be done via hook. Basically have 3 select fields:
field 1 rows:
value | id
field 2 rows:
value | id | parentid
field 3 rows:
value | id | parentid
Then you have to prefill these 3 fields via hook and for fields 2+3 you have to have cascading logic:
in field 3 show entries which have parentid = field2_id
in field 2 show entries which have parentid = field1_id