digitalWrite(i,On);
}
//set D11 through D16 as OUTPUTS and initialize to logic high
//which turns the relay off...logic low turns the relay on
for(int i = 11; i<17; i++)
{
pinMode(i,OUTPUT);
digitalWrite(i, Off);
Most of us are used to seeing HIGH and LOW, and knowing instinctively what they mean. You'd do well to do the same.
if(digitalRead(freshwater_fill_float_switch) == false &&
The digitalRead() function does not return true or false. It returns HIGH or LOW. Yes, I know that numerically the values are the same, but there are conventions for a reason. You'd do well to adopt those conventions.
If the switch actually reads LOW when the tank is low, then using HIGH or LOW actually makes a lot more sense. If not, you might consider rewiring the switches to incorporate external pulldown resistors, so that LOW means the tank level is low and HIGH means that the tank level is high.
You might also consider storing the value read from the switch into a local variable, so that digitalRead(freshwater_high_float_switch) doesn't have to be called (or typed) so many times. After all, during any one iteration of the function, how likely is the state to change? And, even if it did, how long will it be until you check again?
Serial.println("fill flag = true");
Rather than testing fill flag, and printing out its state, why not just print its state?
The code is well commented, and not all that difficult to follow, once one gets used to your not following conventions. The Tools + Auto Format menu item would fix the uneven indenting and make the code easier to read. Deleting (some of) the white space IN functions would, too. I hate having to scroll so much to read, when all I'm scrolling past is white space.
The == true parts are not needed. The value IS true and matches true or it isn't and doesn't. The == false stuff isn't either. Just add a ! in front of the comparison.
if(digitalRead(sump_high_float_switch) == false &&
sump_fill_flag == false &&
digitalRead(freshwater_low_float_switch) == true)
could be
if(!digitalRead(sump_high_float_switch) &&
!sump_fill_flag &&
digitalRead(freshwater_low_float_switch))