Самый простой способ - создать новый объект данных из вашей строки для передачи в запрос. Предполагая (возможно, я неправильно понимаю) contract_begins отображается как тип даты в вашем правиле
Date tripStart = new SimpleDateFormat("dd-MM-yyyy").parse(tripStartDate)
Rule.findAllByClientAndContractBeginsLessThanEquals(client, tripStart)
или если вы действительно хотите сохранить hql, а не динамический поиск
Date tripStart = new SimpleDateFormat("dd-MM-yyyy").parse(tripStartDate)
Rule.findAll("FROM Rule WHERE client_id = :clientId AND contract_begins <= :tripStart",
[clientId: client.id, tripStart: tripStart])