Yep, that's how I do it normally. Work on a local copy in my home directory. You can even build the port there (the ports tree doesn't require to be in /usr/ports), actually installing it would require root access. Although you could set PREFIX to a directory you can write to.But you can create a local copy of ports' tree in an user directory and work there.
WRKDIRPREFIX Where to create any temporary files. Useful if PORTSDIR is
read-only (perhaps mounted from a CD-ROM).
DISTDIR Where to find/put distfiles, normally distfiles/ in
PORTSDIR.
PREFIX Where to install this port (usually set to the same as
LOCALBASE).