En toute rigueur, la définition des sous-espèces / espèces est génétique à la base.
Dans la plupart des cas, des caractères externes permettent de les différencier : écailles (nombres, formes), coloration etc... Mais une différence non perceptible pour nous (phéromones différentes inhibant l'attirance sexuelle par exemple) peut isoler deux sous-espèces /espèces l'une de l'autre, même si on ne peut pas les distinguer morphologiquement.
Il y a aussi le plus souvent une distinction d'ordre géographique, mais elle peut être aussi écologique (niches écologiques différentes) ou éthologique (rythmes journaliers, périodes de reproduction différents).
Bref, tout ce qui peut empêcher, dans l'espace et le temps, deux sous-espèces / espèces de se reproduire effectivement ensemble.
Pour les sous-espèces en particulier, on considère que la séparation des deux taxons est relativement récente et non encore complète comme pour deux espèces, ce qui permet une certaine inter-fécondité. Mais nous parlons de Nature, et rien n'est carré ni définitif, il y a toujours des exceptions et des discussions entre auteurs. Finalement, tout est affaire de ressenti devant l'ensemble des faits. Encore faut-il avoir une vision complète...

En pratique chez nos vipères, les types de colorations suffisent à trancher, même s'ils sont souvent très variables au sein de chaque sous-espèce.