How do you define which application user is trying to login before he logs in?
If you can ask your users to hit a different URL for different applications then we can achieve it using the method below.
When you hit the URL like "IP:PORT/PRWEB", Pega creates an unauthenticated requestor with an unauthenticated access group specified in the BATCH requestor for that system name.
If you have different nodes(pointing to the same DB) for different applications(You ask your users to hit a specific node for a specific application), then it is simple you can create a different system name for each node and have custom screens for every system name. Login screen customisation will be based on the system name. Pega loads the batch requestor based on system name and based on batch requestor we get the login screen pertaining to the ruleset in the access group requestor. Please find the below link for customising login screen.