Image courtesy of Phiseksit/ FreeDigitalPhotos.net
My answer is a bit different than many, who will come out with an authoritative (insert gun type here) response. I believe that you should carry the largest gun that you are comfortable and willing to carry. What I mean by this is if you are a person who cannot stand having your keys in your pocket then carry the smallest gun that is out there. If you are a person who still wears MC Hammer pant and wears a fanny pack then carry a cannon.
Many will argue that certain calibers are not good for concealed carry because they lack the stopping power of a larger weapon. This may be correct, if you have some crazy guy hopped up on PCP then a .22 will not stop the lunatic dead in his tracks unless you have a perfect shot; which under stress is highly unlikely to occur even with the best shooters.
Others argue that larger guns lack the accuracy that may be needed to actually hit someone with the bullet that comes out the end, or may be too slow to draw to get into the fight. This is also true in some cases, in most circumstances you only have a few moments to get into action to defend yourself before the fight is over and when you do you may only have one shot and it better be a good one.
My point is you may have the best self defense gun in the world but if you don't have it on you it is no good. So the best self defense concealed carry firearm is the one that you have and are willing to carry all the time.
Also with most recommendations I give when purchasing a firearm try before you buy.