Can the same entity type (bundle) have different fields in different instances?
field_create_instance already adds a field instance to a bundle. You can't add fields to an entity type or an entity itself.

I'm not quite sure if I understood you right:

Guess 1:
You want for example two nodes of type person where one has a field phone number and the other one not, which is not possible. Your node type has to define all possible field types, but they may be optional, so if the external system doesn't provide data for it, simply leave it empty.

Guess 2:
You want to adjust a whole entity type (this means all existing entities) based on external systems, user input or whatever. Thats possible with the Field CRUD API.