Стоит помнить что очередь накапливается в каждом потоке отдельно, отправитель их туда кладет.
Так что накапливаются не сигналы а именно очередь вызова слотов.
Следственно блокировать вы можете только новые сигналы.
И вопрос, зачем их блокировать в один поток, если долетит к другому?
В случае если задача в оптимизации памяти, то можно отправлять шаред пойнтер с константным классом в оба слота.
Как вариант, подключать сигналы через Qt::DirectConnection вместо Qt::QueuedConnection
А в слоте вызывать другой, локальный сигнал, который подключен с Qt::QueuedConnection сам в свой класс.
Использовать например std::atomic<qint64>
в мемберах отправителя, и перед запуском потоков передать им константный указатель на него. При каждой новой отправке отправитель добавляет 1 к этому числу (надо не забыть обнулять его при достижении какого-то предела, 1 млрд например). А на стороне слотов в обработке Qt::QueuedConnection слота сохранять его значение в копию числа в мемберах потока, так же атомную. Таким образом в слоте Qt::DirectConnection можно будет узнать о количестве очереди конкретного потока и при нужных вам условиях проигнорировать его пересылку дальше.