First off, you don't want to add any of this logic to the entities. This is purely UI logic, so this should be handled in a ViewModel.
So, off the top of my head, once the ViewModel finishes loading the related entities, preferably asynchronously, and the collection is empty, the ViewModel can simply add an empty email address entity. Before you save you need to remove it again if the user hasn't entered anything. One way to do that is in the Saving event of the EntityManager you go through the list of entities to be saved and simply remove any empty email address entity. That will leave the empty email address in the cache, so it's still there in the UI, but it won't save it.
Now, the problem with this is that you'll constantly have pending changes in the cache, that are not real. You'll be tripping over them for example when you want to enable the Save button on the UI at the right time. Your UI may think that there's something to save, when in fact there is not.
So, perhaps the better way is to keep the email addresses in a separate ObservableCollection in the ViewModel. Then, if the user actually enters something, you add an entity corresponding to the item in the UI. That way you keep this stuff completely in the UI and don't start mucking with the cache and dirty states that may cause trouble down the road.