Zakładając, że idWorker jest polem prywatnym, możesz dopisać publiczną metodę getIdWorker w klasie nadrzędnej Worker.
Teraz, jeżeli masz kolekcję składającą się z różnych instancji Worker, możesz użyć metody filter w połączeniu z getIdWorker, żeby wydobyć interesujący Cię obiekt.
LaborWorker laborWorker = ...
OfficeWorker officeWorker = ...
TraderWorker traderWorker = ...
List<Worker> workers = List.of(laborWorker, officeWorker, traderWorker);
workers.stream()
.filter(worker -> worker.getIdWorker().equals(traderWorker.getIdWorker()))
.findFirst();
Nie kompilowałem kodu, także jakby coś nie grało to daj znać.
Swoją drogą, przemyślałbym zmianę nazwy idWorker na workerId, gdyż brzmi ona bardziej naturalnie.