The short answer is "Yes".
The longer answer is generating an unique password for each lead and storing it in custom fields or defining one generic password for all leads.
The exact processing depends how leads will access the gated content.
1. Clicking email link
The URL can pass the unique or generic password through URL paremeters, say http://www.company.com?email={{lead.Email Address}}&password={{lead.Gate_Password_c}}
The form would capture the URL parameters into hidden fields (standard feature of hidden fields), allowing users to click a button such as "Please Proceed".
2. Any user who received a password
A small JavaScript reads the email address and password.
A generic password for all users can be compared without any further steps, enabling the submit button to proceed.
An unique password requires one extra step: a server-side script such as Java or PHP reads the email address users must enter and then sends a getLead call through SOAP API. The XML response returns the password within lead attributes. The script evaluatates whether the lead and password are valid and then enables the submit button to proceed.
That is very quick and straightforward for an experienced web developer.