SELECTED ANSWER
replied on October 31, 2019
The best way would be to use 2 Lookup Rules, as you've suggested, but also create a hidden field to hold the "Value" data (it sounds like you don't want to see the "Value" initially, but you want it to be available for use at a later point in the process).
Your first Lookup Rule will be to populate the "Key" drop-down with the "Key" values in the database (with no conditions). Your second lookup rule will have the condition that when the "Key" drop-down selection matches a key in the "Key" database table, then store the corresponding database "Value" in the "Value" field on the Form (which is a single-line field).
You can then configure a Field Rule to hide the "Value" field "Always" but "Save the data when the field is hidden". This way, the field is never seen on the Form by users, but the data is saved as a variable that you can reference later.
I think this may be what you need. I've included screenshots below of my Lookup Rules and Field Rules setup when testing:

