Generally speaking, such a feature can be seen as a mini shopping-cart.
All you need is a simple form (ajaxified or regular), that sends the modx doc id to a script and stores this together with the webuser id in a custom database table*.
Then, you’ll need a page that lists all your favorite pages (products, articles... whatever). Maybe pass the id-list from mysql to Ditto with the &includeDocs parameter.
Ideally, the wishlist button / link is a toggle-button: if already in the wishlist, show a red "remove" button, otherwise show the green "add" button. Using Ajax, you wouldn’t need to reload pages.
I don’t know if such a snippet already exists in the repository. But it would be fairly easy to do from scratch...
- - -
* You could use cookies too to store the page-ids, but the drawback is clearly: if the user is accessing your site from another machine, or even on the same PC, but with another browser - the wishlist will not be available. Also, since that would be only client-side, you wouldn’t have any stats - clients / marketing guys usually love stats