If the tank is plastic-walled, you might try a capacitive approach... alternating parallel strips of Al or Cu tape. As the water level rises or falls, the capacitance should change. I doubt this would work on a metal tank even with insulation in between.
It is a plastic tank and I like the idea of using a capacitive sensor. My concerns were things like stray capacitance and rfi. I have heard of this approach but I have not talked to anyone who has used it. How would you measure the capacitance? I was thinking of a timer circuit using a 555 as an oscillator and measure the frequency/period.
Another option is a differential pressure sensor. Mount one inlet to the bottom of the tank (drain valve?) and then measure the pressure. A differential model automatically compensates for any changes in local air pressure (altitude, storms, etc.).
The tank is only about a foot tall so the pressure sensor would need to be very sensitive. Those aren't cheap.
Ultra-sonic sensors work too... but most should not become wet. Can you ensure that?
Not really. I would think that you would need to mount it so it could see the water. The cheap one measure through air and the sloshing and humidity would get to the sensor, or I would think it would.
Another neat approach I saw was a resistor-ladder approach where a bunch of resistors were mounted in series and as the water shorted them out, the overall resistance changed too. (naturally at very low / safe currents).
I thought about an approach like that. In fact a resistive wire like NiCrome could be used and it would be infinitely variable. But I assume that the change would be low and the mineral content of the water would through off the measurements.
If you know of anyone who has actually done something like this ...