I think you will find QUEUEHOLDTIME doesn’t give you any value for the calls currently in the queue. It gives you an exponential average of those that have completed, so it will tend to the maximum time if the queue has been the same length for an extended period.
The only way of exposing the hold time of the oldest call in the queue, as far as I know, is to get a complete queue listing using CLI or AMI (it is definitely available via AMI, but I’m not sure about CLI).
Note that past performance should not be relied on to predict future performance, e.g. if there was a peak of traffic which is just about to be cleared, the actual hold time for a new call may be negligible, even though the both the above statistics indicate a long wait time.
Also consider using penalties to transfer agents from other work to clear the backlog.