There are several steps to setting up this type of system. I'll outline them below but if you have any questions please let us know! Its a fairly complex process to put in.
1) Create a custom field that is a lookup key for the password: https://www.screencast.com/t/kkPejkBmD
2) Create a custom field that lets the system know if you uploaded the password, or if someone just entered it: https://www.screencast.com/t/TgGjVYmOhgOj
3) Upload your list of passwords to ActiveDEMAND. Use email address as the lookup key, and update the password custom field with the person's password, and the "password uploaded" custom field with true (or 1).
4) On your form, use the password custom field: https://www.screencast.com/t/11H58wLvc52
5) Have the form redirect to an intermediate page: https://www.screencast.com/t/ah7h9DWR6rq
6) The intermediate page will have only a dynamic content block on it.
6a) The default block will say "Sorry wrong password" and have the following script placed on the row:
6b) Create another version of the block with this query: https://www.screencast.com/t/44IUSqdth and this script added to the dynamic block row:
How this works, if the person enters a password that you uploaded, the block you create in step 6 will redirect them to the page you want to password protect. If the person enters a password you didn't upload, the second custom field will not be set and these will see the "wrong password" dynamic block and be sent back to the login screen.
This solution gives each person they're own password, and then you know who viewed the page. You can do something similar if you just want to use 1 password for everyone by checking on the dynamic block if they entered the "global password" or not. Hopefully this makes sense!