When I move an object using, for example GXO it has no effect at all. It seems like this kind of shortcut works relative to the current transformation.
How can I use the same, except setting the object's global position instead?
When moving an object you can type in measurements that are distances from the current location of the object to move. Similar options are available for scale and rotate.
With 2.70 we also have an advanced input mode which lets us use some basic python to calculate the distance with something like sin or pi. I don't know of any access (yet) to the current global location to use in this calculation.
So to set the global location of an object you need to edit the object properties.
These are also available in the properties sidebar (Press N) of the 3dview.
If you have a python console visible you could also alter the active object by typing in
C.active_object.location.x = 0.0 or
C.active_object.rotation_euler.y = 0.0 You can also access any object by name with
D.objects['Cube'].location.x = 0.0
C and D are predefined variables in the blender python console C = bpy.context and D = bpy.data