Lastly, my question about macros. Can i do something like this;

Asm
MACRO myPAUSE msec,subID
movlw msec
movwf delay1
movlw subID
movwf KeepTrack
Endasm

; then concote any kind of PBP code here

@ Endm
no

macro is a assembler feature and will not accept pbp code.
pbp code needs to be compiled and then assembled

post some code and explain what you are trying to achieve