It sounds to me like you want to create a customizable dashboard, where the user can create shortcuts to certain areas of the site on their home page.
You could assign unique IDs to each element of the site you want to make "addable", then attach those UIDs to the user in the DB. The best way would be to have some kind of user registration so you can store and access these "preferences" on the server side, and store a cookie with the client to maintain the user ID across sessions.
When you identify the user, you pull the UIDs of the items you want to add, then you could either iterate through the items and add them on the fly with an include function, or render the content inline (i.e. foreach...print); or, if it's layout you are concerned with, you could selectively hide items with an if/then clause during page render. It all depends on the complexity of what you want to display.
If it's just going to be a list of links, it would probably be easiest just to generate the list with a foreach...print.