There are 2 system options to route emails to agents: either "push" based where system pushes emails to agents based on agents max load or "pull" based, where agents manually pulls a predefined number of cases from queue. Also here the max load is in play. As you state, there is also an option to pick from queues if given necessary permissions.
You can find descriptions on this here: https://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/enterprise_chat_email/enterprise_cha…
Pages 12 and 18 forwards.
OK, not quite the same :-)
I don't have my ECE lab available currently so I'm not able to verify this for ECE, but for an eGain solution this is done by setting permissions for the user or the user group that the user belongs to, depending on how you have organized the users in your system.
As far as I can see from ECE admin guide picking is an option for agents belonging to same MRD and I'm not sure you're able to prevent this.