you can do this using the global parameter $paged and the query $wp_query->max_num_pages;
it's a bit of a long winded hack and i'm sure there's a simpler way, but this is the way i found when faced with a similar problem:
//set the divider that separates the links
$divider = ' | ';
//get the current page number
$page_num = $paged;
if($page_num == ''){$page_num = '1';}
//get the number of the last page
$max_num_pages = $wp_query->max_num_pages;
//if its the first page
if($page_num>1){
posts_nav_link('','', __('previous posts'));
echo $divider;
echo'<span class="greyed_out">next posts</span>';
}
//if its in the middle
if($page_num>1 && $page_num<$max_num_pages){
posts_nav_link('','', __('previous posts'));
echo $divider;
posts_nav_link('', __('next posts'),'');
}
//if its the last page
if($page_num == $max_num_pages){
echo'<span class="greyed_out">previous posts</span>';
echo $divider;
posts_nav_link('', __('next posts'),'');
}