You could create a custom module to manage this in the back end.
The fields for this could be just a guid for the product and a guid for the user.
Now you can create/delete on the backend, but you'll also have a db table in place.
Then you could alter the product list template to show a like button.
On click, grab product id and user id and store it.
Then you could alter the product detail template and pull a radrotator in to display the users who liked that product in a fancy way.
Alternatively you could look into creating a form which contains a like button.
This would take care of most of the coding (storing 'likes', limitations as 1x vote or ip restrictions etc)
And you'd just need to display the form responses filtered by the product on a product detail template.