Well, i think your best bet would be something with a large focal range. 75-300. But thats only if your stuck with a single lens. For landscape you want wide angle, and for portraits i use the 105mm EX MACRO lens from sigma.
You might try the wider zooms like the 18-55mm, 10-22mm but, it really depnds on what you want to spend. Or you can get a wide prime. It really depends on how much field of view you want or, if you plan on panning the shots. http://www.bhphotovideo.com
I would say a Canon 10-20mm, or Canon 17-40mm L, Canon 16-35mm L, or even the Tokina 11-16mm for landscapes, and a 50mm, 60mm macro, 85mm prime lenses for portraits.
These are two very different lens types in my book. I love the Tokina 12-24mm for landscapes. For portraits, love the 50mm f/1.8. Surely Canon makes one of those