How about something really simple like
tar --selinux -cjf /mountpointof/dev/sdb1/backup.tar.bz2 /home/joe
Note that I've assumed that the relevant partition on sdb is sdb1 and that you've mounted it somewhere.
To restore a file, simply use
tar --selinux -C ./ -x home/joe/restorefile -f /mountpointof/dev/sdb1/backup.tar.bz2
where restorefile is the file you want to restore