Ну, вариант первый это использовать массив, а вариант второй может быть такой:
Function GetEntityHandle%(num)
d.door=first door
for i=1 to num-1
d.door=after door
next
return handle(d.door)
end function
че-то вроде этого, фунцкция должна возвращать хэндл объекта по списку, однако возможно надо подработать, так как писал по памяти.