This definition is too restrictive and you are also mildly confused. First, not every metric space is a normed space. Second, in practice we want to consider many maps between metric spaces that aren't isometries. The "correct" definition of homomorphism between metric spaces, for reasons that I won't get into here (but see this blog post for my thoughts on this issue), is a short map or weak contraction, which is a map $f : M \to N$ satisfying
$$d_N(f(a), f(b)) \le d_M(a, b)$$
for all $a, b \in M$. This definition has the desirable property that two metric spaces are isomorphic iff they are isometrically isomorphic in the usual sense, and it is also much less restrictive than asking for an isometry.
A somewhat less restrictive notion is that of a Lipschitz continuous function. This is useful as well. Two metric spaces which are isomorphic in the sense that there are two Lipschitz maps between them that are inverses are said to be bi-Lipschitz equivalent, which is a weaker notion than isometrically isomorphic but is useful in some settings; it is related to the notion of quasi-isometry which appears in geometric group theory.
An even less restrictive notion is that of a uniformly continuous function. This is the correct notion of homomorphism between uniform spaces.
The least restrictive notion, that of a continuous function, is the correct notion of homomorphism between topological spaces. Strictly speaking, when you talk about continuous functions between metric spaces, the category you're constructing is really the category of metrizable topological spaces.