I'm not sure to understand everything fully (especially the data structure thing (I'm French)), but I think I may have got it, so I give it a try.(1) a data structure that captures the relevant facts and (2) a process that uses those facts to make judgments about what is and is not permitted.
(1) Data Structure :
You mean the data about historical lend lease during WWII ??
If that is it, I suggest using the WiF FE countermix to get that data.
The game was skillfully researched by the designers, and their research has make them creating this countermix and this list of lend leased planes, and to whom they were lend lease it. Why doing new research about lend lease, why not use what was decided by the WiF FE designers ?
(2) The process that use those facts to make judgements about what is and is not permitted :
It could be a field in the unit data for lend lease.
For the allies :
Field 1 : Is this plane lend leasable to Russian ? Y/N
Field 2 : Is this plane lend leasable to Chinese ? Y/N
Field 3 : Is this plane lend leasable to French ? Y/N
Field 4 : Is this plane lend leasable to CW ? Y/N
Field 5 : Is this plane lend leasable to USA ? Y/N
Which could also be :
Field 1 : Is this plane lend leasable to level 3 allies ? Y/N
Field 2 : Is this plane lend leasable to level 2 allies ? Y/N
Field 3 : Is this plane lend leasable to level 1 allies ? Y/N
Field 4 : Is this plane lend leasable to level 0 allies ? Y/N
The latest would be usable for the Axis too, and you just would have to set a level of "alliance" between powers.
Anyway, one day or the other you'll have to define a level of alliance between powers if you intend to include DoD III into the game. It will be much easier if you already included this.
This level of alliance could even be used to toy with MWiF and try What if scenarios. It could be defined by the player at the start of a scenario. The player could have the choice between historical alliances, or some other set of alliances.
This lend lease field would be filled at the start of the scenario, as an option.
For example, you could have an option named "Lend Lease" with a choice named "use historical lend lease", which would fill the fields with pre established values (those from the WiF FE countermix), and another choice named "use free lend lease" where the lend lease fields would all be set to "Yes", allowing to lend lease any plane to anyone, or any other choice set between both.

