Regarding your question relating Morita equivalence as defined for internal groupoids and as defined for rings:

Given an internal groupoid $G$ (say, Lie, topological or algebraic), it defines a presheaf of groupoids on the ambient category ($Diff$, $Top$ or $Sch$). The stackification of this presheaf is the category of (right, say) principal $G$-bundles. Thus two groupoids define equivalent stacks (isomorphic in the correct 2-categorical sense) whenever their categories of principal bundles are equivalent. This is the groupoid version of 'Morita equivalence' a la rings. But when these two groupoids present equivalent stacks, they are 'Morita equivalent' in the sense there is a span between them of 'essential equivalences' - fully faithful essentially surjective (-appropriately interpreted) functors. So the two notions coincide, at least when the ambient category has enough quotients of the right sort of reflexive coequalisers (as the examples I list do). In the more general case with no quotients, as I mention in my comment to the original question, I'm not sure what happens.

EDIT: It's been a while since I answered this, but now I know what happens in the case I mention in the final sentence above the line. One shouldn't take the category of principal bundles as being the stackification of the internal groupoid $G$, rather take the category of internal anafunctors with codomain $G$ and with domain a groupoid with no non-identity arrows. The arrows are a little tricky to describe, but one gets a stack over the base category with fibre over $X$ the hom-category $Hom(X,G)$ in the bicategory of internal groupoids, anafunctors and transformations. This will be covered in a forthcoming paper of mine.