This is another vote for having three check boxes for value lists: show in list, show in field, and store in dataprovider.
My case: Person table with non-unique names (there may be two persons called 'Jerry Robinson) It would be nice if a person value-list could display name plus some other identifier (such as 1st line of address), show only the name in the field (once selected from list), but store person_sn in field.