Are you using a list field?
It has support for a callback to provide the allowed values. See list_field_info() That is however not exposed in the UI (which makes somewhat sense as you can't implement a function there either).
So you can simply implement a function that returns the allowed values and then update the field configuration (through api calls in your module, directly in the database, or export your field as a feature and then adjust it there).
In fact, if it is a list field, you probably have to do it this way instead of a hook_form_alter() in order to get past the validation, but I'm not 100% sure.