Using the HEX modifiers with HSERIN/HSEROUT works just like it's shown in the manual.

Here's an example of receiving .HEX files from a PC serial connection;
http://www.microengineeringlabs.com/...bp/progeex.bas

Reversing the upper & lower nibbles is really simple with a single line of assembler.

X VAR BYTE
X = $AB

@ SWAPF _X,F ; Swap upper & lower nibbles in X. Now X = $BA.