Over at #1551228: AJAX-ify dependent fields when changing a project on issues we solved a specific instance of this problem. In the D7 port of project_issue, we're using dereference_list for the allowed components on an issue, tied to an entity_reference pointing to the project node that the issue is attached to. When you change the project field, we need to replace the components field with the new options given the new project. In the project_issue case, there are a couple of other fields that are project-dependent, so it was easier to just rebuild the whole form when you change the project.

However, it'd be nice to solve this in general for dereference_list so that anyone using it gets similar behavior.

This is no longer blocking the d.o D7 launch, so I'm not tagging it, but wanted to capture this as a feature request, anyway.