Always reserve a seat at the time of booking, and if the airline or booking engine won't let you, keep revisiting until you can. The longer the flight, the more attention you should pay to getting a decent seat: resources with detailed seat info include SeatGuru.com, SeatExpert.com and FlyerTalk.com. Don't like the seat options? Select one anyway, then check back every spare minute to change it, including when you're on the plane. (If you're a member of an airline lounge club, ask the agents there to make seat changes for you. They're rumored to have more clout.) To snag a coveted exit-row seat, arrive at the airport early for check-in, since you can't select those seats online. Some airlines charge more for window seats or seats with extra legroom (including the exit row); whether it's worth paying depends on the cost, length of flight and your tolerance for discomfort.
Next Pick a 767