Digital Multiplexer and storing and comparing digital inputs

Should I store the readings into an array?

That's how I'd do it, something like this.

byte vals [8];

for (i = 0; i < 8; i++) {
  setMuxAddress(i);  // does whatever is required to set the three select inputs on the MUX
  vals[i] = digitalRead(muxPin);
}

Rob