Was meinst du mit einem Datenregister?
Eines der Register r0 - r31 des Controllers,
oder einfach irgend ein Byte aus dem SFR?

Naja ein beliebiges Byte aus dem SFR übergibst du einfach wie einen "unsigned char".
also so z.B.:
void Funktion(unsigned char port);