There are many ways in which you can script a garage behaviour, one, as you already wrote, is using a sphere, another way can be checking if the player is within certain coords. About garages and opening doors, here you have a list of usable
garages, no other garage door can be opened via script. Of course you can always create a garage + door as additional map objects and make it movable via
object functions. Going back to vanilla garages you have "just" those 26.