1) Adding the underscore in the name is not a good idea. The underscore is interpreted as wildcard in mysql usernames (see mysql usermanual). Using the clientname is also not a good idea for another reason, all mysql usernames are limited to a ovaerall length of 16 chars, so if you client has a long username, then he might not be able to add any mysql users or only mysql users with 1 char.
2) No, the user should always enter a name for the database. Thats why we made this error. We had it before that the username part was optional and it confused the users when they tried to add another database.
3) The password is needed to access this database in conjunction with the username of this database. There can not be duplicate usernames as ISPConfig prevents that. Every database shall have its own user and own password and ISPConfig enforces this for security reasons.
4) Using the client name and domain name in the usernames of webistes is not recommended. If you would change the username of the client or the domaoin of a website, all modern cms systems would stop working as they would loose the ability to access their files and write to the filesysrtem. This naming scheme can only be used if you lock the client name field and the website domain field so that it can not be changed after initial creation of the websites and clients. But I prefer that I'am able to change a domain name of a website instead of having to delete the whole website and client to be able to chnage the name.