Is it possible to dynamically select between two different template files for the same content type?
Yes. You can implement hook_theme_suggestions_HOOK_alter() to set up different templates based on the field.
In your case, you want to add templates for nodes, so the theme hook is node. As such, you would implement the following:
function hook_theme_suggestions_node_alter(array &amp;$suggestions, array $variables) {
  $node = $variables['node'];
  if ($node-&gt;hasField('some_field') &amp;&amp; $node-&gt;some_field-&gt;value == 1) {
    $suggestions[] = 'node__product';
  }
}

With this code, when some_field does not exist, or does not have a value of 1, the default node.html.twig template will be used, and when some_field has a value of 1, the template node--product.html.twig will be used. Adjust accordingly.