a longer stem can make up for a shorter toptube since it basically makes you reach further forward.
two schools of thought on frame sizing: smaller is good (this is the more common one).
the other one is that we all ride frames that are too small, and should be riding bikes that are 2 - 3 cm bigger than we currently do.
fwiw, i like 'em small.