This might be a little off-the-wall, but who knows ...
What if you programmed a few extra steps in your vector to do the following:
goto step X if counted calls to VDN XXXX <=10
goto step Y if counted calls to VDN XXXX <=20
goto step Z if counted calls to VDN XXXX <=30
etc., etc., etc.
Steps X, Y and Z would look something like this:
(STEP X) messaging split X for extension XXX1
(STEP Y) messaging split X for extension XXX2
(STEP Z) messaging split X for extension XXX3
If my vectoring example is correct, the first ten calls would go to the subscriber account represented by extension XXX1, calls 11 through 20 would go to subscriber account represented by extension XXX2 and so forth.
I'm guessing at how you route a call to voice mail, but you might be able to build a separate vector to collect and distribute the calls?
This also assumes that the system will keep track of the number of calls to the appropriate VDN. There is also the question about how the "count" gets reset, otherwise, I would imagine that the last messaging statement would collect the remaining entries for the rest of the day.
It's just an idea. Maybe someone more talented can pick up where I left off? Good luck. I'd be interested in whatever solution you do come up with.
Scott