I would do what @chetanchauhan suggested. Your concept is on the right track (with one major caveat, discussed in next paragraph), it would just be kinda messy to include stuff in the template file itself IMO. Plus, this is exactly what the template_include filter is for.
Also note how Chetan uses has_tag instead of is_tag. The has_tag conditional will check if a post has a certain tag, while is_tag will check if a tag archive page (i.e. example.com/tag/whatever/) is being displayed.
You’re checking for the former, so you would want to use has_tag in this case.
If I had to make one suggestion, make sure the function name is prefixed (i.e. yoursite_load_custom_post_template instead of load_custom_post_template).