You can build it in the theme or build a plugin. I’ve don’t both. I don’t do things like this often, I’ve had maybe 2 clients that have needed something like it. The example I linked to uses 2 different CPTs, but it could be done with parent/child posts or CPTs and taxonomies. It’s a pretty basic example, the important part is done by the AJAX requests and the population of the select fields from the right data.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users