The Virtual Value List module might be able to help with some of this. It lets you set what values appear in a pop-up menu or drop-down list at the time the user enters the field — any set of values you can gather with a calculation, which is especially handy with ExecuteSQL.
Your sketch looks more like a series of portals than drop-down lists. Is it OK for the available options to only be shown when the user enters a pop-up or drop-down control, or does the list of the next options need to appear on the layout? If you need the second option, more work may be involved, and Virtual Value List may not fit the bill.
Do a search for “cascading value lists” you might find some useful hints and tricks.