I got a really good idea. I like it better than diggi's because it allows movements such as moving 2 to the right and 2 to the left much, much easier. Also, it only requires 6 locations; 4 for the boundaries and 2 for actually moving the guy.
I wrote all the following as if it was 1x1 squares. It would still work with 2x2 squares, though; you simply have to double the size of every single location I mention.
Prereqs:
Make a 3x3 location and a 1x1 location. Now, create a burrowed zling in every square for player 10.
Basic Movement:
Constantly have a 3x3 location follow the unit that is moving. Now, set the current player's Custom score to how many moves he can make. This can be substituted for minerals, ore, etc. if you want to, of course.
The trigger actions for "move left" would be:
Conditions:
Current Player Custom Score is Atleast 1
(Current Player indicates he wants to move left)
Actions:
Give 1 zling in 3x3 to P11
Center the 1x1 location on P10 zling in 3x3
Order unit to go to 1x1 location.
Give back all zlings to P10
Subtract 1 Custom Score.
And the same for up, down, and right, only you give different amounts of zlings so the location centers go on the corresponding zling. Give 3 for down, 5 for up, and 7 for right.
And that's about it. My post was literally 3x as longer, but I kept on coming up with more and more ways to make it simpler and simpler. One thing I did not cover though; What do I do when it reaches the side of the movement area?
Create 4 locations along the sides of the map, and if the player enters the bottom side location, do not allow them to fire the "move down" trigger. Simple, eh? Just make sure there is an extra row of zlings on the outside so there will still always be 9 zlings in the 3x3 location so the other movement triggers don't mess up.
If you have any questions, I'll take them, and if you want me to, I will make an example map. I am quite sure that this system would work quite well, though.
One thing I did not mention that I think deserves to be. I did come up with a way for when you move back a square, it gives you back your custom score, instead of taking away still. However, this would take 24 movement triggers instead of 4, using the system I came up with. Personally, I would just center another 1x1 location on where you started, and allow you to reset if you messed up your movements

Good luck with the map!