Here is my input to your question and I hope it to be helpful.
You can use Exim instead of sendmail as MTA and Dovecot as IMAP server, in Exim use LMTP transport for authentication and recieving emails as well as SMTP for outgoing emails alongside dovecot and use sql-auth in dovecot so to have the virtual users functionality. You will be able to have more options in terms of password encryption.
Refer to dovecot lmtp setup with Exim documentation and many other available resources on how to configure virtual users. Also, refer to Sidn.nl tutorials on how to configure EXIM mail server, it was very helpful to me.
In terms of virtual users with same mail box, you can create one user and forward emails from another user using EXIM redirect router. I have not tested creating another user and symlinking its mail directory to the first user but it might work. I recommend to give it a try.
Use e.g. for symlinking:-
ln -s /home/mail/USER1 /home/mail/USER2
Good luck.
Zakaria.