How to split the user login error message between username and password?
There is not a built-in way. If you take a look at the UserSessionService, you'll see that messages are returned based on an error code. When a username and password combination fail, it triggers this single message to be returned.