If the client has a (relatively) static IP address, you could do something like this in place of what you currently have:
RewriteEngine On
# Replace with the appropriate IP address
RewriteCond %{REMOTE_ADDR} !=192.168.0.1
RewriteRule .* http://www.newsite.com%{REQUEST_URI} [R=301,L]
Alternatively, you might be able to do something like this...
RewriteEngine On
RewriteCond %{THE_REQUEST} !\?noredirect
RewriteCond %{HTTP_REFERER} !^http://www\.oldsite\.com
RewriteRule .* http://www.newsite.com%{REQUEST_URI} [R=301,L]
And then (assuming their browser sends the referrer) they could access the old site at http://www.oldsite.com/?noredirect and hopefully any subsequent links they clicked after that would work correctly without redirecting to the new site. I didn't test this though, so I may have overlooked something.