I came up with another untested idea:
1. Remove the cranks and BB.
2. Invert the bike and spray a ultra slippery lube down (or is it up) the seattube.
3. Give a good shake.
4. If that doesn't work, use something to ram the seat post down into the BB area.
5. Using the 'saw idea' from above and saw the across the seat post.
6. Tie some string around one of the notches, with the string inserted first from the entry of the seat tube.
7. Again gently pull up and seatpost hopefully comes out.
Yes this is a slow method, hell while doing this you can check the crankset and BB for wear.
If that fails, you can take the slower but more effective method of sawing the seatpost an inch at a time at the BB area.
------------------------------------------------
And the epoxy idea from steve3 is great for your situation where the seatpost is jammed at the top. Just epoxy your super duty coat hanger to seatpost, cure and yank it out slow.
If the 'weld' fails after you move it out a couple of millimetres, keep repeating until you can either vise-grip it out or drill a hole big enough to fit a piece of solid metal into and pull out.
Damn that seatpost is a bastard to get out!