What is the difference between a 100mm lens and 100mm macro, or 50mm and 50mm macro?
Can we use a macro lens to shot portraits? If yes, what focal length is the best? Please suggest a Canon macro lens.
The macro lens is capable of focusing on things that are really close.
How close? (Magification ratios explained)
A 1:1 magnification means that a lens can focus on something so close, its image on the film/sensor is the same size as the subject itself, so you can imagine that's probably about as close to the lens as the lens is long (depending on the lens design). A lens with a 1:1 magnification ratio or greater is clearly a macro lens. Just to give you an idea, this level of magnification should allow you to get close enough to a 50 cent coin so it fills the frame, and still focus on it correctly.
Macro lenses don't only do macro
Macro lenses are designed to be able to focus close, but that doesn't mean they can't focus out to infinity as well, and they may serve as a good portrait lens too. You don't have to use them for actual macro photography (that's something I never realised when I was new to SLRs).
Properties of macro lenses in general
A macro lens of a similar quality and design will typically be more expensive than a lens with otherwise similar specs and no macro ability, because its ability to focus so close requires a few design considerations. It may also be slightly more bulky. It is likely, however, to have better image quality in some respects, even when not taking macro photographs. These are generalisations only and each lens is going to be different.
Lenses for portrait photography
Traditionally, portrait photographers tend to like to minimise perspective distortion ("big nose effect") so they choose longer, rather than shorter, focal lengths and stand further away. For this reason, 100mm/105mm and 135mm primes are popular focal lengths for lenses marketed as "portrait" lenses, but this won't stop you using something as wide as a 35mm or as long as a 300mm for a portrait - it's about the look you want to achieve. Without knowledge of your budget or other requirements, this is one example of a Macro lens that should be good for portraits.
A lens designated as 'Macro' is designed to allow you to focus really close to the subject, usually to the point that the image on the sensor or film is the same size as the subject itself (which is described as 1:1 macro). Apart from that there is no difference in principle; you should still be able to use it for portraits and landscapes etc as it will still focus to infinity.
The best focal length for portraits is the 35mm equivalent of around 85mm or above. If you're using a cropped sensor camera this means you should use a lens of about 60mm focal length or longer. Lenses wider than that tend to distort the features, especially on a full-frame close-up. However a macro lens is not a requirement for portraiture.
Canon make a 60mm Macro lens with f/2.8 maximum aperture which would be suitable for portraiture on cropped sensor cameras (i.e. all but the 1Ds and 5D series of Canon cameras). But you should check the reviews on Fredmiranda.com to see which lens would be best for you.