A switch and a gui button are separate and you can tackle each issue separately. How you do it depends a lot on what you're looking for.
I have a tutorial on gui buttons:
As well as a series about making buttons in general. The toggle button is what you're looking for. This one is part of a series though so it might not make sense to start with it.
The one thing I don't cover is how you would actually use the position. To do this, I would probably add a string name to the buttons as a variable, then you could create a script which returns the position of a button with a given name, like this:
GML:
///return_button_position(button_name)
with (button_parent) {
if (button_name == argument0) {
return position;
}
}
return undefined;