Originally Posted by
black pearl
Two lenses spring to mind.
Canon EF-S 17-55mm f2.8L IS
Canon EF 70-200mm f4L IS
Both are significantly sharper than your current lenses. Both have larger max apertures to help in lower light and give you shorter depth of field - the portrait shots will benefit from this. Both have image stabilisation which makes them great every day choices and while the long one is white it's a dinky little thing so shouldn't make you self conscious.
The f4 lens is by far the best choice for the majority of people - yes the 2.8 is an epic lens but it's an epic size, an epic weight and the cost is......well epic. A set of primes is a nice thing to own - but - only if you have some reliable zooms for everything else you're going to shoot. You don't at present so not an ideal way to spend your cash.