Honestly, none of them are very good choices if you cant access multiplayer. CoD4 has a better story than MW2 and its harder. But MW2 has Spec Ops, but that can only last so long.
Halo 2 wasnt fantastic. Still pretty good and i think i was longer than CoD4. Cant comment on Halo 3 as i havent played it.
People are going to say MW2 because that game has sucked in half of console gamers with its massive hype train and its shallow simple mans story. So just to let you know, the story mode for MW2 is pretty much just explosions. The plot is ridiculously convoluted and shallow. The writers tried to make too many twists, but it just didnt work. Im not some MW2 hater by the way, i think its a decent game, just not as good as the hype/popularity would suggest.
My pick would be Halo 2 or CoD4.