Only branch instructions use relative addressing. A branch instruction executes in three clock cycles and consists of two bytes. The first byte is the opcode for the particular branch condition, and the second byte is a signed two's complement offset from the address of the next instruction.
The target address of a branch instruction is calculated as...
New Program Counter = Address of Branch Opcode + 2 + Signed Offset
Because the offset for a branch is from the address of the next instruction, the smallest practical negative offset is -2 ($FE). An offset of zero causes no change in program flow, essentially making the branch instruction a three cycle NOP.