What I can suggest is to create a calculation field with:
if (business name = “”; full name ; business name)
then you can use this field as second filed in the drop down list displaying business name if exist otherwise the full name
Given how this value list hides the first column, I'd take a few precautions here.
Make it a text field with an auto-entered calculation such as has already been suggested here. Then set a validation rule to enforce unique values on this text field.
When you hide the first column, duplicate names in the second column will be omitted, so this validation rule will catch cases where the business name or personal name matches a name already auto-entered into this text field and warns you accordingly.