Python 2.7 - 119
Take 1 - 166. The reversing of lists was needed to make pop work in the order I wanted, but this seemed wasteful. And when I tried to combine into a single comprehension for fun, the pop screwed things up.
w=raw_input().split(' ');l=max([len(l) for l in w]); q=[list(p)[::-1]for p in w]+[['\n']*l] t=[' '+(v.pop() if v else' ')for i in range(l)for v in q] print ''.join(t) Take 2 - 119. So I changed to simple list indexing. Still seems clunky though, especially the padding of spaces and new lines.
w=raw_input().split(' ');l=max([len(l)for l in w]);print''.join([' '+(v+' '*l)[i]for i in range(l)for v in w+['\n'*l]])