First thought that comes to my mind is use an imagepoint located at wherever you want the center.
Then, to rotate sprite:
-find position of imagepoint relative to layout via imagepointX(), imagepointY()
-now calculate the angle and distance from imagepoint to the origin of the sprite.
-set position of sprite to imagepointX+cos(calculatedAngle+rotationAmount)*calculatedDistance
-do the same for Y, but use Sin() instead of Cos()
-Now rotate the sprite by the same rotationAmount.