First off, lets start this off by mentioning that hail is primarily a Spring and Summer phenomenon, not from winter storms. Hail is formed differently than sleet and freezing rain, which usually fall when the atmosphere is fairly cold through a large column of air a storm with less vertical lift and updrafts.
Hail is a different breed in that it forms in more intense and violent storms that grow very high in the atmosphere. They develop when a storm has a lot of instability, and a large moisture content. The higher a cloud top gets, the longer the amount of time a moisture particle spends within the cloud, which allows for it to grow. The longer a hailstone gets bounced around within a cloud updraft, the larger it gets.
Usually the thunderstorms that produce hailstones grow very high in the atmosphere between 10,000-20,000 ft. So high that they only stop growing when they reach a stable layer of air at what is called the Tropopause. This is where the storm flattens out at the top and develops its Anvil like appearence.
A hail stone forms when supercooled waterdroplets freeze on contact with what is called condensation nuclei. The cloud itself must grow very big because it has to stay cold enough to support the hail formation, which means it must stay in an altitude high enough to support freezing. When a hailstone falls, it moves through the lower atmosphere faster than it can melt, which is why the air can be well above freezing and you can get hail.
A thunderstorm is considered severe when hailstones are 3/4″ in diameter or larger.