Write a webscript that runs as admin and returns a content stream (special type of webscript) and expects 2 parameters; a noderef and a token. Generate a token when generating the email with the link, store that token in a datalist and write the link complete with noderef and token to the email body.
Your webscript can do all sorts of things before returning content. For example you could transform your documents into PDF and using one of the PDF libraries make that document "unsavable" locally, or "un printable" locally or watermark it. You could even apply a pre-agreed read password to it which was not in you link email.
With each call you can update a use counter on the token, so you can make it single use, multi use, forever use, you could apply an expiry date/time to it.
The email could end up in the wrong hands, if you worked that out you can kill the token, and I guess someone could have a bash at guessing a different noderef (I wish them luck on that) but you could easily cancel the token within your webscript if an attempt was made to access a node different from the one sent.
You need to make sure your tokens are not easily forgeable.
The security implications depends on the document content, you might worry a lot about the payroll data, rather less about a purchase order document for tools.
Bob Johnson