They can via primary radar, but the default displays secondary radar information (the transponder interrogation) as it tends to be significantly more precise. Surveillance radar has very coarse altitude resolution.
ATC probably thought they were giving a different measurement. Especially in older planes, systems aren't particularly well integrated, and most of the time you ask them what they're seeing because you can't check your own Mode C altitude in the cockpit and want to compare it to your barometric altimeter (and yes, they generally do use the same static source, but it isn't atypical for them to read differently).
Thinking about it more, I've never tried asking ATC for an altitude check specifically from primary radar. It may well be that the system isn't set up for it, even if it's technically computable to some degree. When I'm talking coarse, I mean an altitude spread at range that may be measured in miles.
That sounds kind of worrying. It sounds like if a pilot has a malfunctioning altitude meter they can only check it visually or have a completely independent GPS on hand. I don't see what else the crew or the ATC could have done in that instance, given their equipment. I also don't understand why a radar of all things can't give a more precise measurement of altitude. Even a person with binoculars could probably be more precise than +/- 1 mile.
For what it's worth, I'm not particularly worried. My understanding is that the accident was caused by a combination of poor maintenance practices, inadequate preflight procedures, and possibly poor ground procedures by the pilots that led to them taking off with an inoperative pitot-static system. Modern aircraft can also get altitude data from GPS (as you noted), as well as inertial navigation systems and radio altimeters, and generally have redundant pitot-static systems (at least an alternate static air source) for these kinds of contingencies.
Surveillance radars have narrow beam widths in azimuth, but broad in altitude to allow them to quickly survey around them and get good enough awareness of where everyone is. There's always a trade-off between resolution and volume--some military tactical and approach radars have very precise azimuth and altitude capability, at the cost of scan volume/time. Mode C (and now, arguably, ADS-B) was the solution to this problem, allowing ATC radar to have both good position and altitude precision with an acceptable refresh rate, at a non-prohibitive cost.
You'd be surprised--unless your hypothetical binocular observer was really handy with stadiametric ranging, I imagine they'd be nowhere near a mile. They might be able to get a decent azimuth and elevation on a single aircraft, but that's a much different problem than determining position near-simultaneously for a hundred.