I would do it with nested routes and map.resource. You would end up with a rout that looked like this:
/plans/:plan_id/compare/:id
If you are comparing more than one at a time then I would do what was suggested before and pass an array of IDs as a GET request.
What would be the best way to build the GET request url with the specified plan ids (for instance with form where you can use checkboxes to set the desired plans)? Would you do it with JS?