Ну, дерево, само по себе, не слишком-то и отличается. В форме с номенклатурой два дерева (одно для фильтрации, другое для классификации), но на быстродействие это вряд ли существенно влияет. Здесь, скорее всего, дело в том, что в lookup форме выводятся данные только одной таблицы (InventTable), а в форме номенклатурные единицы выводятся данные пяти таблиц, не считая тех, что используются для классификатора (+2). Думаю, что это больше всего влияет на быстродействие.
А у Вас действительно на порядок отличается скорость? У нас замедление заметно, но сказать, что на порядок... Хотя классов в классификаторе у нас, конечно, меньше.
На счет ID и CODE. Дело в том, что изначально задача стояла так, что классу принадлежат и его элементы, и элементы, принадлежащие его потомкам. Изначально задачу решили так: код потомка строится как код предка и некоторые символы, приписанные справа. Это дает возможность использовать для SQL-запроса условие LIKE 'ABC*', где ABC - код предка. В принципе, это видимо тоже замедляет фильтрацию, так как выборка с использованием LIKE не индексируется. Возможно, что в будущем классификатор будет переделан так, чтобы для построения поддерева использовалось не LIKE ..., а ParentID = ... и соответствующие индексы (вы можете заняться этим прямо сегодня!

). Предположительно это несколько ускорит фильтрацию, но гарантий дать не могу.
P.S.: А по ID фильтрация и не идет. Идет фильтрация по TypeID. Дело в том, что классы с одинаковым кодом могут встречаться, но в разных классификациях (типах классов).