One thing to be aware of, working with the smaller PIC microcontrollers, are the sometimes very limited stack capacity. If you use nested calls, you will eventually most certainly cut off the limb you are sitting on, and not return to where you want.
In these cases macros with code repeats has...