There are a number of ways to pick the object, but they're also picked automatically after spawning them. So in your example, just spawn the object that contains the imagepoint you want to use to spawn something else. So for example:
1) Declare variables xPoint,yPoint
2) spawn objectName (which contains imagepoint 4) at whatever XY you want
3) xPoint = objectName.ImagePointX(4)+50
yPoint = objectName.ImagePointY(4)
4) Spawn second object at xPoint,yPoint
Or, am I completely misunderstanding you and you just want to spawn the object centred on its own imagepoint 4?