Specific extension announcement

Discussed before, while you could do pretty much anything in Asterisk if you are willing to code, it is not something you could do in the module.

Perhaps you could have a trainee queue and a expert queue, do something (custom dialplan) that evaluates the two queues data before sending to queue (which queue has the longest available agent, etc.). Once your evaluation decides on which queue to send the call to, the call routes. Then you could have a trainee join message on the trainee queue. Not exactly what you are asking for, but just a thought.