When Dharma showed up, like the original shipwreck survivors who MIB teamed up with, Jacob let them stay until they got too close to discovering the island's secrets. Ben was identified as someone who could help Jacob get rid of Dharma, so through Richard, they made it happen.
Ben got to stay on, because he was able to help protect the island for Jacob - dealing with Danielle's team, keeping Widmore at bay, and dealing with the Oceanic survivors.
All along, Richard has been simply a way to communicate with the living - a messenger/lieutenant of sorts.
I think Jacob explained the notion of candidates this ep - that as he realized MIB was getting closer to finding a way to kill him, he started rounding up potential candidates - perhaps beginning around 1976 when he first visited Sawyer. He tagged all these people, knowing they'd come together in the future when he really needed them. It's bothered me that Hurley and Sayid were tagged after the initial crash, but I guess it stands to reason that in observing them on the island, he added them to his list.
At least that's how I see it - could be wrong!