Should a bank be able to shorten your password without your approval?
The security policy of an entity that processes users' data is the entity's responsibility, not the users'. As such, the entity doesn't need the users' approval in order to make decisions on any aspect of the policy. Because this can lead to poor practices, though, there are laws that set the minimum level of protection that the entities should provide to their users. Other than that, there's not much one can do, unfortunately.
[...] never ever in it's plain form. Which would definitely be required to shorten a password by the bank. Or am I wrong?
There are some ways to achieve this without having to store the password in plaintext. The concept is similar to how password hash migrations may be implemented; here's an example of a password hash migration:
- there's your password hash in the db
- you enter your password at the client side
- the password is sent in plaintext (usually/preferrably protected by other means, e.g. TLS) to the server
- the server finds that the stored hash is an old one so it sets to replace it with a new one
- the password you sent is hashed and compared to the stored hash
- the hashes match, hence the password is valid
- the password is hashed with the new algorithm
- the password hash of the new algorithm replaces the old hash in the db
- every time you login from that point on, the new algorithm's hash is used for comparisons
Similarly, this is what could have happened in your case:
- there's the hash of your 24-character-password in the system's db
- you entered your 24 characters password
- the password is transmitted to the server in plaintext (again, under the protection of e.g. TLS)
- the server finds that the stored hash is an old one so it sets to replace it with a new one
- the password you sent is hashed and compared to the stored hash
- the hashes match, hence your password is valid
- the server uses the first 20 characters of your password to produce a new hash
- they replace the old hash with the new one
What was described above could have been in place for a long time; once they saw that all (or the vast majority) of the users have had their passwords replaced, then they may proceeded in enforcing the rule to the client side as well. The key point here is that they may have done this without having to store the password in plaintext at any time.
Unfortunately, I cannot explain why they have set the limit to the password length; I can hypothesize but that would be a wild guess.
Should I be concerned that this bank uses bad information security procedures?
Honestly, only the bank's key people know.
Truth be told, you don't know whether they actually shortened the password or not; it may have always been the case that you were providing a password of 24 characters but they only used the first 20 of them in order to produce the password hash, and now they just decided to enforce the rule at the UI side too.