I wanted to congratulate a friend that have join stackexchange but i couldn't find a way of doing so within the site. is there a way, and if not maybe it should be...
There is no private messaging, and it doesn't look like it's going to happen. But if you're feeling bold you can go take it up at MSO.
While users are required to post questions and answers, it's the questions and answers that are deemed to be most important on these sites. The sites have never been seen as social networking sites despite some users desire to have these features.
You could post a comment on one your friends questions or answers, but that would very likely be flagged as "unconstructive, offensive or spam" (the first reason being the relevant one here).
Anything that distracts from the questions and answers is strongly resisted by Jeff Atwood et al. It took a long time for them to accept that comments were needed for example.