You could generalize it by,
#ifdef __AVR_ATmega2560__
#define PIN PINE
#define ABMASK 0b00110000
#define AMASK 0b00010000
#define BMASK 0b00100000
#endif
#ifdef __AVR_ATmega328P__
#define PIN PIND
#define ABMASK 0b00001100
#define AMASK 0b00000100
#define BMASK 0b00001000
#endif
and then your code would read
void PinA()
{
cli();
reading = PIN & ABMASK;
if(reading == ABMASK && aFlag)
{
encoderPos ++;
bFlag = 0;
aFlag = 0;
}
else if (reading == AMASK) bFlag = 1;
sei();
}
void PinB()
{
cli();
reading = PIN & ABMASK;
if (reading == ABMASK && bFlag)
{
encoderPos --;
bFlag = 0;
aFlag = 0;
}
else if (reading == BMASK) aFlag = 1;
sei();
}