You might consider changing your repeater to CSS List Menu (it automatically hide menu items according to "Show in navigation"). All menu logic is solved in there.
I strongly suggest you to use it. Take as example on "the corporate site" and see how the css list menu is done there.
If you still want to use your repeater do it with a custom query just use SQL with calculated column VisibleCHildrenCount for ex.:
WITH MenuQuery
(NodeHasChildren, NodeID, NodeName, NodeLevel, NodeOrder, DocumentName, DocumentMenuItemHideInNavigation, NodeParentID)
AS
(
-- default query for cms menu list with fewer columns
SELECT
NodeHasChildren, NodeID, NodeName, NodeLevel, NodeOrder, DocumentName, DocumentMenuItemHideInNavigation, NodeParentID
FROM View_CONTENT_MenuItem_Joined
WHERE [NodeSiteID] = 2 AND ((DocumentMenuItemHideInNavigation = 0)
AND (MenuItemGroup <> 'footer' OR MenuItemGroup IS NULL))
AND ([Published] = 1 AND [NodeLevel] <= 2 AND [DocumentCulture] = 'en-US')
)
SELECT VisibleCHildrenCount =
(SELECT COUNT(*) FROM MenuQuery q2
WHERE q2.[DocumentMenuItemHideInNavigation] =0 and q2.NodeParentID = q1.NodeID), *
FROM MenuQuery q1
ORDER BY NodeLevel, NodeOrder, DocumentName