How do I allow users to select published content on the site to be displayed on their profile page?
You might want to look into the Flag Module.  It provides links on nodes that allow them to be tagged/flagged. Then, with Views, you can create a block that will be displayed on user profiles with content flagged by that user.  In fact, it comes prepackaged with a "bookmarks" view that might be a good starting point for this.