According PHR manual TCEPx and IIEPx registers have 19bit width, but internal memory has 20bit width, so 20bit add automatic?
I assume you were referring to TPEPx instead of TCEPx register. The recommended value that needs to be programmed into these registers is "internal memory address - start address of the internal memory (0x80000)" which finally will be less than 20 bits. Having said that, writing the complete memory address to these registers will automatically discard the upper bits (starting from the 20th bit) which will have the same effect of subtracting 0x80000 from the original address.
Hope this helps.
Retrieving data ...