The way I took.
While sources and ports tree can be read from an USB key (or evem a ro medium) I put my .../obj dirs on a hard drive slice. My distfiles, packages sources are on yet another slice. With my data (archives, postgresql, www, mail, user data ). The only slice I need to backup beyond /var/backups.
snip from my mk.conf
WORKOBJDIR=/sandbox/pobj
MAKEOBJDIR=/sandbox/sobj
XOBJDIR=/sandbox/xobj
Faster to newfs the /sandbox then rm
And .... the .../obj dirs are clean!
A very heavy /usr (with GTK and QT3 and QT4 and their apps) takes less than 4Gig.