How can I add custom fields to Commerce Discounts?
You'll need to implement the field api to attach fields to certain entities.  Or you could within hook_entity_info() (I think), there is a 'fieldable' array key you could set to TRUE.  From there, you may need to programmatically add a field to it.  A good way to get field definition code is to use Field Inspector module, add a field to an entity using the UI, and export that field definition as a base to code yours.