As pointed out in a previous post, Colin Baker played a different role, before becoming the 6th Doctor.
Apart from this, it is quite common for a Doctor to meet his identical twin, played by the same actor. This can be the result of duplication, deliberate imposters, or just co-incidental resemblance.
1st Doctor - the Abbot in The Massacre.
2nd Doctor - Salamander in The Enemy Of The World
3rd Doctor - ?
4th Doctor - insane computer in The Face Of Evil, mini-clone in The Invisible Enemy, shape-shifting cactus in Meglos, army of duplicates in The Leisure Hive.
5th Doctor - Omega in Arc of Infinity, Kameleon in The King's Demons, android in Caves of Androzani
11th Doctor - Ganger in The Rebel Flesh/ The People, Teselecta in series 6 arc.
Treat that as a partial list, there's probably others.
The list of duplicates of companions is even longer. Of particular note is Jacqueline Hill, who played Barbara in the first few years of the show, and who later returned as Lexa in Meglos. As far as I know, this is the only time a series regular has returned in a different role. (As opposed to other actors who played different roles before becoming series regulars)