Вы, вероятно, можете вернуть несколько результатов, подобных этому:
return A, B
…
local A,B = require "file1"
Но это плохая идея из-за кеширования и, скорее всего, потерпит неудачу.
Лучше положите их обоих в стол:
return {A = A, B = B}
…
local file1 = require "file1"
local A,B = file1.A, file1.B
UPD: это будет работать только в lua 5.2+, но, вероятно, самое короткое и ясное:
return {A, B}
…
local A, B = table.unpack(require "file1")
Вы можете использовать любой из последних двух.