Depends a whole lot on your budget, unfortunately.
A rather cheap option is a prime lens - perhaps the 50mm f1.8 if you can only afford a little bit; the 85mm f1.8 if you can afford some more. A little more again would get you the 100mm f2.8 Macro - that's a good portrait lens, but a bit far from the range you specified. All these lenses will suck in much more light than the 18-55, giving you a lot more latitude in low light conditions.
For about the same money as the 100mm Macro you have another option: the 17-85mm IS - that's quite a good lens for the price and encompasses the range you're using. It's only f4-5.6, but the image stabiliser means you can hand-hold a slower shutter speed.
For a whole lot more money (probably over double the 17-85) there's the 24-70 f2.8L - a fabulous lens, though. Or if you must have 18-25, there's the 16-35mm f2.8L - another excellent lens, and very slightly cheaper than the 24-70. Neither of these lenses is lightweight, though.
More realistically, perhaps you might consider the 17-40mm f4L zoom - it's a lot less money (a bit more than the 17-85, but about half the 16-35), includes the range you want, and weighs rather less. It works well on the 20D.
One thing you gotta say about the Canon lenses - there are HEAPS of reviews of them on the web - Google will find you plenty of reading
