Вы должны попытаться установить поле отображения не по имени класса, а по имени содержащегося объекта:
$this->setDisplayField('client.name');
Конечно, в этом случае вы должны указать модель клиента в своем запросе.
$result = $this->Users->find('list')->contain('Clients');
Это возможно и в более глубоких отношениях.
// model
$this->setDisplayField('client.address.street');
//query
$result = $this->Users->find('list')->contain('Clients.Addresses');
Я проверял это только в отношении belongsTo
.