The easiest solution is to add a specific class to the menu items that you want to hide. And then hide them through CSS.

^ click to enlarge ^
The CSS classes are not visible by default, you have to enable it in the Screen Options upper tab.
If your theme does not print the relevant classes in the <body> tag, this will do:
add_filter( 'body_class', 'wpse_67929_body_class' );
function wpse_67929_body_class( $classes )
{
if( !is_user_logged_in() )
$classes[] = 'not-logged-menu';
return $classes;
}
Finally, in your style.css, add this rule:
body.not-logged-menu .menu-logged-in {display:none}
Another option, use the following filter:
add_filter('wp_nav_menu_items', 'wpse_67929_nav_menu_items', 10, 2 );
function wpse_67929_nav_menu_items( $nav_menu, $args )
{
// Manipulate the output
// $nav_menu contains a single string with the menu Html structure
// more or less like this:
// <li id class><a href>Menu Item</a></li> <ul><li><a>Submenu Item</li></ul> <etc>
return $nav_menu;
}
"Manipulate the output" seems simple but reveals to be tricky: