How to apply node access rules when querying menu_links table
Yes, menu_get_item() will set return an access element that notes whether the current user has access. 

  $siblings = db_select('menu_links', 'ml')
    -&gt;fields('ml')
    -&gt;condition('plid', $target['plid'])
    -&gt;condition('hidden', 0)
    -&gt;orderBy('weight')
    -&gt;execute();
  foreach($siblings as $sibling) {
    $menu_item = menu_get_item($sibling-&gt;link_path);

    if($menu_item['access']) { 
      //Current user has access
    } else { 
      //Current user doesn't has access
    }
  }