Basically I have 9 functions each doing different LED patterns on my Arduino.
I also have a function that reads my IR sensor and returns back if button as been pressed (1 through 9).
That was hard to see from your code.
What I want to do is to break out of the current LED animation and switch to which ever the user has selected, I don't want to wait for the current animation to finish before checking to see if there has been an IR code received as some of the animations loop forever.
Then, it is time to re-write those animations.
You really want to implement a statement machine, and get rid of every single delay in your code.
Look at the blink with delay example. While there may appear to be a lot of states to deal with, you can't make a responsive application using delay.
As a stop-gap, you need to call the IR reader function more often (in each do-something function) and return from that function if a button was pressed.