Tired of that Civ moving settlers into your terrain? Not ready to declare war yet? Try the moving wall approach.
Several people I have read suggested building a wall of spare workers and obsolete units across a choke point on your continent. This "friendly" wall approach prevents another Civ's from coming into your territory without first declaring war against you. (Don't use workers if there is a chance they may actually declare war).
This works especially well after signing an ROP,

you send your troops in to investigate an opponent and you can prevent them from crossing your borders and populating the other side of your territory.
The wall approach works great if you have a true choke point of 4 or 5 squares, or if you happen to have 20 - 30 spare units kicking around. (If you have that many spares you might as well just attack them).
It doesn't work as well on a large continent though and this also isn't very feasible early on in the game when you want to stop them and you only have about 4 units to spare.
Here is what I do, I use a moving wall;
The first thing you need to do is watch the other cities population indicators. You can tell when they have settlers on the move. If the Civ's pop counter drops from 3 to 1 you know they just built a settler, and you need to keep watch for them. If you don't see any come your way and another city pops up on their side of the continent then no problem, that settler is accounted for. Now you need to keep an eye on that city as well.
I like to keep a piece of scrap paper handy to keep track of how many workers and settlers they have active at any given time. It gives you an idea on how quickly they are moving. You would be surprised how much of an advantage you get knowing when the AI is trying to expand.
Next you need to figure out where the AI is going.
If the continent is wide open use your brain. Where would you put a Civ? Is there an open spot nearby your city that has 2 cattle and 2 dye's? Chances are the other Civ's see that as well. Trace a line from the city that produced the settler and the spot you want to protect and make sure your units can "see" that area.
You need to have about 4 units available and you need to detect where they are going ASAP so you can get into a "blocking" position.
Put your units on a mountain or hill near where you are going to "block" the enemy so you can see them coming. (The AI will rarely go around and "flank" the area they are heading for). It usually takes the straightest path.
Once you spot the incoming settler, (usually accompanied by a spearman), move your units into a line use natural blocking terrain like lakes or oceans as an end point if possible.
The other Civ will move up to your line of 4 units side by side and then try to move around you. If the settler moves to the right move all of your units one square to the right. If he moves to the left move them all to the left. Be careful you don't jog the line. The settler can move diagonally between your units then you can't catch them and block them usually.
Usually you can keep them moving back and forth or from one shore line to the other and back, until they give up. Either way it delays at least one city that the AI was trying to put down.
Keep your eyes open though. If the AI doesn't put a city down in the prime spot and you still haven't occupied that spot, it may attempt to put another settler there. If you can trap that settler as well you have just made yourself a big advantage.
Don't fall asleep and you will be able to pick off any unwanted settlings in your territory.
Don't think of it as cheating. Think of it as your troops delaying them at some check point. Very realistic.
Once you are ready to declare war on this nation these stalled settlers will be prime targets. If you can pick off all of a countries settlers this way you will basically incapacitate them.

