Типизировать колонку запроса нужно только в итоговой выборке, так как эту типизацию будет обрабатывать уже 1С++ а не sql сервер. Сам сервер выражение [Товар :Справочник.Номенклатура] воспринимает просто как длинное имя колонки.
Поэтому должно выглядеть вот так:
Select Товар as [Товар :Справочник.Номенклатура] from (Select ID as [Товар] from Справочник.Номенклатура)
И кстати если используешь именно "ПрямойЗапрос" то типизации лучше писать как в мануале используя "$" а не ":" и использовать синонимы. Так как двоеточие воспринимает sqlite но не воспримет MS SQL и еще куча всяких нюансов в трансформации.
Тобишь лучше для класса будет:
ВЫБРАТЬ Товар КАК [Товар :Справочник.Номенклатура]
ИЗ (ВЫБРАТЬ $Товары.ТекущийЭлемент КАК [Товар] ИЗ Справочник.Номенклатура КАК Товары $nolock)
$nolock - вырежется при использовании sqlite и трансформируется в (nolock) для MSSQL