(Note: I'm a British English speaker, and there may be UK/US usage differences here. There may also be differences in personal preference.)
I would generally use "congratulations on". In cases such as "Congratulations on/for your marriage", or "Congratulations on/for your recent promotion", "for" sounds wrong to me. But in cases such as "Congratulations on/for doing such a great job", or "Congratulations on/for making this a success", "for" does not seem so wrong (though I would personally still use "on").
"Two teas, please" is perfectly natural to me.