Avoiding multiple defines by using side effect of PIC banking
At the end of the day the assembler doesn't have a clue about #defines.

The assembler doesn't even get to see them.  The preprocessor first scans the file expanding the #defines (called preprocessor macros) and converts them into the numbers they represent.  So the assembler itself just gets numbers.

So no, the assembler can't understand if

bsf EEADRL, RC5


is valid or not since it never gets to see that.  The preprocessor has no concept of assembler syntax or what different symbols mean, so it can't know that it's wrong.

In my opinion macros should always say what they mean.  As long as the content of the macro expands out to the correct values it doesn't really matter what any interim macros may say.  If the macro TXSER_PIN has a valid contextual meaning to the person reading the code at that point then there is no reason to use it.  If it doesn't, then use a macro that does have meaning.

After all, a macro is purely a human representation of numbers or other bits of code / data, in order to make the code more readable.

They don't take up any space in flash or ram, so you can have as many of them as you like.

More important to think about is grouping SFR operations that are in the same bank to reduce the number of banksel calls, since each one takes flash and CPU cycles that could be used elsewhere.