Есть способ обойтись без копирования данных и временных таблиц, но прийдётся немного извратиться.

На форуме были сообщения о том, что можно создать в аксапте View c нужной структурой полей (название, тип, размер) и на уровне СУБД подменить текст этой вьюхи на любой другой с сохранением структуры View. Тогда аксапта не увидит подмены и будет работать с View как с родной, реально же данные будут собираться уже по новым правилам. Используя Linked Server можно затащить в такую вьюху данные из внежних БД.
Достоинства такого подхода. C получившейся вьюхой в аксапте можно будет работать используя любые стандартные механизмы, использовать в источниках данных, джойнить и т.д.
Недостаток тоже существенный. Вся эта подмена текста View на уровне СУБД живёт до первой операции синхронизации DictionaryData в аксапта. Т.е. при выполнение над такой View администратором аксапты штатной функции синхронизации текст View сбросится на исходный. Выход есть
Запрет синхронизации объекта АОТ
P.S.: Ещё в голове возник альтернативный вариант решения задачи. Отказаться от аксаптовсткого Grid'а и сделать отображение через ActiveX/Web