Variables in the address space __zp reside in the first 256 bytes of memory (the Page Zero). The MOS6502 is most efficient at accessing variables stored here. Pointers can only be dereferenced directly if they reside in Page Zero. This is the default for the small memory model.
Variables in the address space __xdata can reside anywhere in the 64K memory space. This is the default (for the large memory model).