Can you freeze a hero if there is no health loss?

Solution 1:

Yes, this works. Dealing damage to a hero's armor is still dealing damage, so water elemental will freeze them.

Note that this will not work if the damage is actually prevented, such as by Divine Shield or Immune.

Solution 2:

The water elemental just has to deal damage to a character for this to work. So armor doesn't protect you, but e.g. a divine shield would protect your minion from being frozen.

This used to work differently early in the beta, but was changed at some time. From the patch notes:

Water Elemental (Mage) will now properly freeze armored heroes as intended.