Hi Jeff,
s2Member Pro can certainly accomplish what you're asking for. With s2Member Pro, you can create a free registration form (if that's what you want, otherwise you could create a paid registration form) on a WordPress page called "Register". You'd need to place the link to the Register page in your menu (or wherever else in the theme you want it to show up).
s2Member provides a set of shortcode conditionals that you can use to do things like check if the visitor is logged in, display their name, etc. Using these conditionals, you could show the Register link if they're not logged in and display their name, along with a link to edit their profile, when they are logged in (s2Member provides a shortcode that you can use on a "My Profile" page, which generates a form that allows the logged-in user to edit things like their email address, name, password, etc.).
For example, here's how this might look using the s2Member shortcode conditionals:
[s2If is_user_logged_in()]
Welcome [s2Get constant="S2MEMBER_CURRENT_USER_DISPLAY_NAME" /]! | <a href="/my-account/">Update Account</a> | <a href="/wp-login.php?action=logout">Logout</a>
[/s2If]
[s2If !is_user_logged_in()]
<a href="/register/">Create an Account</a> | <a href="/wp-login.php">Login</a>
[/s2If]
There are also PHP versions of these same examples in
WP Admin -> s2Member -> API/Scripting -> Advanced/PHP Conditionals. You can use the PHP versions directly in your theme template files to gain finer control over where things show up.
Please see these two videos for a better idea how Advanced Conditionals and API Scripting in s2Member works:
http://www.s2member.com/advanced-conditionals-video/http://www.s2member.com/api-scripting-overview-video/Does that answer your question?