As I said in my previous post, BL is ALWAYS using relative addressing; to use absolute adressing you would have to use code like this:
where the first instruction will in turn be displayed in disassembly as two instruction: a
MOVW #xxxx to load the 16 lsb (setting the msb to 0) and a
MOVT #xxxx to load the 16 msb
Thus the code you show is indeed using relative addressing, so is perfectly valid in PIC mode.