I would like to know if it’s possible to insert a custom field for templates on product pages, where we could insert a product tag and the template would be shown or hidden, depending if the product has the same tag or not.
If you want to add a custom field to an existing section, then the answer is yes you can.
At the bottom of the source code for that particular section, you will see a big {% schema %} section. If you add new fields in here, they will appear in that left hand window, and you can then refer to those fields in the code with {{ section.??? }} to do certain things. In your case, it sounds like you want to check certain tag values, and show them or not.
You’ll need a bit of coding / liquid experience, but assuming you do, its shouldn’t be too bad.
This reference explains how to add fields to the schema