Half-life 2, although I felt the linearity of the game really ruined the game play, had some excellent dialogue (especially Breen's TV speeches).
I don't see how linearity ruined the gameplay. I wish more games would go with this approach, because I'm all for the fun rather than big open spaces. I don't need vast levels to enjoy the game at all. Far Cry was pretty open - but really not that fun. I loved the linearity.