I recently did a search for another question here on Software Recommendations, see Online survey to be installed on my host, where I suggested to look into JDeSurvey, and when looking a bit more into the features of this survey tool I found the following on sharing the surveys:
Sharing
Publishing Surveys
Once a survey has been designed it is ready to be filled out by participants. Publishing and sharing your surveys requires no effort. Just click an option to publish and start collecting responses from participants.
Each published survey is assigned a unique URL that can be provided to participants so they may access them through a web browser.
Published surveys can be embedded and displayed within web sites.
The process of filling out surveys is simple, direct, and straightforward.
Generate QR Barcodes
Use QR Barcodes as an alternative method for publishing surveys.
A QR code can instantly be obtained for any survey.
Copy, save, print, and post QR codes for participants to scan with their mobile device to start filling out surveys.
Survey Email Invitations
Grant survey participants to fulfill surveys by sending out email invitations. This handsome feature allows you to deliver surveys in bulk to groups of participants. Compared to sending out surveys one-by-one to each participant separately email invitations decreases the time by a significant amount
Send out survey invitations to multiple users at once via email using comma delimited files.
Check the number of email invitations sent out along with the number of email invitations opened by recipients.
In other words, instead of printing access codes, you could print out either unique URLs to hand out, or you could print out QR codes to be scanned by their mobile devices. Or maybe not so good, email a group with survey invitations.
I have not tried this tool myself, and I'm not a 100% sure it can provide multiple URLs for a given survey, but it is worth taking a look, I recon.
Edit: In the faq section there are descriptions on how to create internal/external users, and how change from a public to a private survey, so it should be possible to create the printed access code stuff using external users.