A couple years ago, I wrote some code for our Courier implementation that sent a magic UDP packet to a small server each time a user modified their voicemail IMAP folder. That UDP server would then connect back to Courier via IMAP again and check whether the folder had any unread messages left in it. Finally, it would contact our phone switches to modify the state of the message waiting indicator (MWI) on that user's phone line appropriately.
Using a Dovecot plugin for this would require mail delivery to go through Dovecot as well as all mail access. So, no postfix or exim or whatever doing mail delivery by itself (mbox/maildir), and no MUAs accessing mail locally.
With courier, you probably had everything going through courier, but with Dovecot, that need not always be the case. So, using a dovecot-plugin for this may not even catch everything.
Of course I don't know anything about the details of the project (number of users, requirements for speed of MWI updates, mail storage type, etc.) but if it's not a very large setup and mail storage is mbox or maildir, I'd probably go for cron-based external monitoring using find and stuff like that. Maybe even with login scripting for extra triggering.
HTH...
-- Maarten