> You can get them down to very low power by having them go into deep sleep and only wake up every minute or ten to take a reading, hop on the network, and publish the value somewhere,
Doing this also greatly prolongs the life of the cheap resistive sensors that sarabee dismisses. If there's current through them for only a millionth of the time, then their life is extended by a million (not quite, but there is a large factor there).
If you wanted to get fancy you could drive the sensors with an AC signal (sine wave, say) through a DC-blocking capacitor, and use a precision rectifier (an op amp, two diodes and a capacitor pretty much) to measure the voltage. AC drive would reduce corrosion further.
> If one can get a digital rather than analog sensor for a few dollars more,
With a BCD to ten-output chip on the Arduino (e.g. 74HC42, < $1) you could have up to 10 of the cheap resistive sensors per Arduino. Each of the 10 outputs of the '42 is used as the power source for one resistive sensor.
Of course you'd need wires everywhere for this (simple "bell wire" would do if it's out of the sun). I like wires--I find them much more reliable than Wi-Fi or low power digital radio, not to mention having lower power requirements--but they seem to be out of fashion these days.
With chained counter chips you could have hundreds of sensors. But then your Arduino wouldn't get any sleep, and might need cloning to share the workload. And your wiring tag system had better be reliable! :)
There are ethernet modules available for the Arduino, but yes, an ESP32 would probably be easier.
Edit: swap paras 5 & 6.