Prewitt operator and central difference?
Yes, the $1/2$ factor correction could be present, so that the magnitudes between a) the continuous derivative and b) the approximated gradient remain consistent in some way: a (continuous) line with a unit slope will have its discretized version get a unit gradient with the $1/2$ factor. 

However, as long as the factor is nowhere applied, all gradient magnitudes remain comparable in a relative way. I suspect that, Prewitt being an ancient operator, computations were of concern. As is only involves simple additions and subtractions, one probably did not care about "costly" divisions, and most of all returning non-integer values. 

The same happens with other kernels, see using a sobel operator - edge detection. The normalization is somewhat arbitrary, using a sum of absolute values, or in energy, as for Fourier transform normalizations.

However, if one uses different kernels, or different orders of derivations, it is safer to perform a consistent normalization, in order to be able to compare magnitudes.

The idea behind the constant columns is that a vertical edge should spread over several pixels, so you perform an additional averaging in the direction parallel to the edge, to reduce noise effects for instance, providing you with a more robust estimate of the actual gradient.