Para algo como esto, puedes usar las listas dinámicas, que ya tiene ese tipo de sistema implementado.
Puedes hacer que le ID de los objetos estén dentro de la lista dinámica y que estos sean posicionados según la lista.
Al momento de eliminar uno de la lista, eliminas el objeto y recuperas el id de los demás para moverlos a la posición que deben de ocupar.
https://bygdle.xyz/gamemaker/manual/Referencia/Estructuras_de_datos/
Puedes hacer que le ID de los objetos estén dentro de la lista dinámica y que estos sean posicionados según la lista.
Al momento de eliminar uno de la lista, eliminas el objeto y recuperas el id de los demás para moverlos a la posición que deben de ocupar.
https://bygdle.xyz/gamemaker/manual/Referencia/Estructuras_de_datos/