Will the code I have written send an output to low within the parameters I set?

This code before setup()

int percent1;                               //mapped value of zone1
int percent2;                               //mapped value of zone2
int percent3;                               //mapped value of zone3
int percent4;                               //mapped value of zone4

defines 4 int values. This code in setup()

  int percent1 = analogRead(zone1);
  int percent2 = analogRead(zone2);
  int percent3 = analogRead(zone3);
  int percent4 = analogRead(zone4);

defines 4 new int values that only setup() knows about and assigns a value to them.

This code in loop()

        display1 = map(percent1,0,1023,0,99);       //map zone1 range to 0-99
        display2 = map(percent2,0,1023,0,99);       //map zone2 range to 0-99
        display3 = map(percent3,0,1023,0,99);       //map zone3 range to 0-99
        display4 = map(percent4,0,1023,0,99);       //map zone4 range to 0-99

references those 4 ints defined outside of setup(), which were never given a value.

Remove the "int" before the four assignments in setup() and the code will be referring to the same variables in all places. If you are still printing all zeros, maybe it's because you are reading all zeros. Try setting display1-4 to arbitrary values as a sanity check to see if they print correctly.