So, the question is whether there exists, for any integer n, a value that has exactly n types. For n=0, and n=1, the answer should be clear (zero, many), but what for n>1?
The question turns out to have a very simple answer: No.
The reason is that standard ML is based on a type system with inferred typing (particularly, the Hindley Milner type system). In this type-system, there is precisely one polytype for each value. You may want to consider a polytype which includes an unbounded number of types, e.g., type: 'a -> 'a includes in it very many types, e.g., int->int. In this case, there would be an infinite number of types to any HM polytype, e.g., a type that has parameters, and a finite number of types, precisely one, to any value whose type is not polytype.
In summary: Any corrrect value in ML has one polytype, and either one or infinitely mono-types.