First, I personally do not see a problem in telling clients that it is in their own best interests to have longer more secure passwords. In this day and age, they generally accept this.
As to a possible workaround, once the information is processed by Plesk, there are entries made in the psa database, you have already found the username, here is where the password is linked to:
For the username:
Database: psa
Table: pd_users
Field: login = username
Field: account_id linked to accounts.id
For the matching password:
Database: psa
Table: accounts
Field: id = pd_users.account_id
Field: password (plain text)
But even manually changing the database will not help you. The information you originally enter is then put into a file kept in:
/home/httpd/vhosts/domain.com/pd
For example, if you protect directory 'test', then the filename will be "d..test". If you look in this file, you will see line entries corresponding to each user/pwd combination. The username is clear text, the password is encoded.
This is the file which Apache refers to when authenticating the user's access. The database maintained by Plesk is not accessed by Apache.
So you would have to encode your own 4 character passwords and put them into this file.
The rest I leave to you to figure out, ie. figuring out the encoding of the passwords. Again, I do not personally agree with allowing clients to have the choice of using short or 'easy' passwords. I like having more security, not less.
I almost forgot, I realize this does not get around the built-in length limit of the control panel, but their scripts are encoded, not open source, so I do not believe there is a way to modify their scripts to allow less than 5 character passwords. I am just giving additional information for you as a possible workaround. Like if you were to create your own management script and add it as a custom script/button to the control panel.