I would do it the other way around: Put the always visible text into a custom field per metabox, and protect the post content with a password.
In your theme, always show the custom field, and let WordPress handle the password protection.
Sample code for the theme:
while ( have_posts() )
{
the_post();
if ( post_password_required( $post ) )
{
print '<h1 class="post-protect-notice">' .
__( 'Protected Post', 't5_theme' )
. '</h1>';
the_excerpt();
// custom field
print wpautop(
get_post_meta( get_the_ID(), '_always_visible_content', TRUE )
);
}
else
{
// show regular content
}
}