Why do you have two functions that do exactly the same thing?
// encoder pin on interrupt 0 (pin 2)
attachInterrupt(22, encoderPinChangeA, CHANGE);
// encoder pin on interrupt 1 (pin 3)
attachInterrupt(23, encoderPinChangeB, CHANGE);
Nothing in the comment matches anything in the code. Fix or delete the crap.
delayMicroseconds(600); //_delay_us(200); //modify to alter speed
Why? Responsive code NEVER uses delay(). In any fashion!