Hi Lee, I was looking at l2tp/ipsec, it's definately possible, but will need a bunch of patches like
http://www.freebsd.org/cgi/query-pr.cgi?pr=146190AND
http://lists.freebsd.org/pipermail/freebsd-net/2012-September/033170.htmlAND probably more
also if m0n0wall is behind NAT I suspect it will need new patches too.
Alternatively, if you want to just use xauth and not l2tp for user auth, this would be easier, but wouldn't cover windows clients natively and would require patching of mpd to use a file for auth
PPTP is the best solution but due to the weakness in cracking auth with sniffed sessions, is too weak. it may be worth mitigating this weakness using one time passwords like google authenticator