Arduino mega interrupt problem. Code or wiring? [SOLVED]

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();
}