Color Fading Mode Switching

boolean button[]= {3,4,5,6,7}; //pin assignment for buttons

boolean variables should be assigned values of true or false.

  for(int x=0; x<5; x++) //starts a loop to set the pin modes for all button pins
  {
    pinMode(button[x], INPUT);
  }
  for(int x=0; x<5; x++) //starts a loop to set the buttons to a default of HIGH
  {
    pinMode(button[x], LOW);
  }

Only one for loop is needed. The code in the second one does not agree with the comment.

    buttonCheck(); //calls to the void buttonCheck() section for checking the buttons

If you don't care what the function returns, why call it?

It doesn't seem to interrupt the fading

Of course it doesn't, because crossFade() doesn't bother to return if a switch is pressed.

and the wrong button now starts the fade.

You've got far too much code for now. Get rid of most of it. Make sure that buttonCheck() actually does what it is supposed to. Then, start putting code back in.