Most good suggestions have been covered off by others but I agree that Winchester, followed by Southampton are both good bets (I have personal knowledge of both).
Winchester is a college town so the nightlife is reasonable for teens to 20 somethings. It is also a historic place and compact. Most importantly, the rail transport links into London are great - I think you will find that most fast London trains that originate or pass through Southampton, then Winchester, then Basingstoke, then straight into London. It is about one hour's ride (for 70 miles in distance). Winchester has expanded the volumes of flats for such upwardly mobile people such as yourself - particularly in the area close enough to walk to the station (say up to a mile from the station). This sort of thing - built using a former Army barracks.
http://www.vrwinchest...ninsula_brkks_v_.html
Of your other recent suggestions (I know most of these places)
Alton - reasonable town but I'd rule out on transport links - rail into London probably no quicker than Winchester and it's a lot nearer. Impossible get to Southampton by rail (easily).
Aldershot - no - too much Army and a poor place with a pathetic centre.
Guildford - good links into London and University and cultural activities make this a favourite - but far more pricey than Winchester because so much closer to London. Too difficult by rail to Southampton.
Farnborough - again on the Southampton-London main rail-line. Personally I don't like it - too suburban and inadequate night-life (I suspect).
Basingstoke. Was a 'new town' 30 years ago, built around a old centre. OK in terms of transport links but limited cultural stuff. Town centre recently upgraded so more now for younger people.