Not sure what you mean about it adjusting to where it was spawned. The Sine behaviour will always take the sprite's starting location into account. If you want to offset the wave, then adjust the "Period offset" property.
To keep it from leaving the layout, use the Bound to layout behaviour.
I've attached an example to show you the idea in action.
EDIT: Oh, okay, you've deleted your post.