Да, на esp32 возможно взаимодействие между скриптами на Lua и кодом на C. Для этого существует специальная библиотека Lua RTOS, которая обеспечивает поддержку Lua на платформе esp32.
Что касается виртуализации Lua на esp32, то это также возможно. Например, можно использовать эмулятор LuaJIT для выполнения скриптов Lua на esp32, тем самым обеспечив доступ из Lua к функциям на C без необходимости их модификации. Однако, стоит учитывать, что виртуализация Lua может повлечь за собой потерю производительности и использование дополнительных ресурсов памяти.