The only problem I see is that if the wait time is longer than a few minutes. If a call is expecting a wait time of greater than 5 minutes a caller could hear that 3-5 wait time message for more than 5 minutes depending on the actual expected wait time.
I guess you would need to adjust these various message lengths depending on your specific max wait times in those queues.
We have a conversant to update the expected wait time for callers, but I just had a thought.
Why not create a series of different vectors, with each representing a different hold time length.
If the expected wait time is fime minutes, start the call at vector 5 and play "wait time is 5 mintues". Play 60 seconds of music and use a goto vector 4 step.
In vector 4 play message "your call should be answered within 4 minutes", play 60 seconds music. Use another goto vector 3 step.
In vector 3 "your call should be answered within 3 minutes", etc, etc, etc........
If a new call comes in and the expected wait time is 180 seconds start the call at the 3 minute wait time vector.
As always you should queue the call at the original vector.
Just a thought.