On which forms do you wish to add the fields/logic?
I feel like there are two questions here:
1) How to build an arbitrary list of options from a third-party source of data (Drupal)
2) How to set the value of one field based on the value of another fields.
For (1), arbitrary lists, you can look into hook_civicrm_fieldOptions, which can dynamically modify the option list for any field. I believe the value still needs to be valid, but if it's a select that stores an integer or a string, I think it's OK.
Alternatively, CMS-specific form builders (Caldera for WordPress, Webform for Drupal7) might be able to help, until formbuilder is ready (also known as afform).