I need to lose 1100 bytes from my sketch.

At first sight, your sketch does not look long enough to fill 8K!

How much did using direct port manipulation save you? A few bytes? Not worth it. You didn't finish the job anyway, I still see several digitalRead() calls.

I suggest commenting out all of your animation functions (and any references/calls to them), then un-commenting them, one at a time (including the references/calls). Make a note of the compiled program size before and after and work out how many bytes the function is taking up. Then comment that function out again and move onto the next one. Post a table showing the program size increase for each function. Maybe one or two need much more than the others and if we know which, maybe we can work out why.

Also, please do an Auto-Format on the sketch before you post it next time. Won't save any space, but will make it easier for everyone to read.