Кажется, вам нужно проверить функциональность вашего графического интерфейса: поля поиска действительно являются функцией на стороне клиента. И ему нужен источник поиска - поэтому, чтобы использовать его на клиенте, таблица поиска должна быть загружена. Ребята из DataSnap очень хороши здесь, преобразовывая его в TStringField при передаче его клиенту ... Я бы просто проигнорировал это.
Таким образом, если таблица поиска такая большая, вам не следует использовать поля поиска, а искать пользовательские интерфейсы - или автозаполнять комбинированные списки, которые вы выполняете на сервере DataSnap. Возможно, вам придется кодировать его вручную в случае со списком, я не знаю (посмотрите, есть ли в JVCL что-то, что вы можете использовать для быстрого доступа к пути).
В качестве альтернативы, если таблица поиска редко обновляется, вы можете агрессивно ее кэшировать и иметь механизм обновления для обнаружения изменений. Таким образом, вы можете использовать поля поиска так, как они были созданы.