Here are some Pros and Cons for each approach:
List
Pros
- No predictable pattern for users to exploit
- You don't need to generate an encoding/decoding
Cons
- Only represents pre-defined states
- Gets messy/large when storing many states
Binary representation
Pros
- Represent a wider variety of data/states (create a password for any given state of the game)
Cons
- Difficulty of implementation
If you are going to use binary representation, I suggest you use something like base16/base32/base64 values depending on your data size.