With Windows Phone 8.1, which will be available in some way, you can store apps on the card. (they will not survive a hard reset and cannot be run on any other phone, just an fyi)
I would pick based on storage space needed first, then the highest speed you would be comfortable paying for.
I recommend a Class 4 or 6 card for general usage, a Class 10 if you're juggling large files here and there, as well as putting large games there.
How much space you need depends on you.
I don't have any particular brand preferences here.