Yes, you would add the canonical link element:
to the 20 pages that are the same as your home page. But I think they are all the same page, so you don't have to look far. The pcsid looks like a session id, so if you can add the canonical link element to index.php, it will appear in all displays of the home page. It is OK if the canonical link element on a page points to itself.
Notice that index.php is used for search results and shopping cart pages also. So adding it to index.php may add it to all your search pages and cart pages. But do you want those pages indexed? If not, then the element is OK on these pages.
WARNING
Your product pages do not display index.php, but I am assuming they are dynamically generated. If they are, you may end up with the canonical link element on every page of your site. If your software can't handle that differently, you will be better off without the canonical link element.
Use an XML Sitemap
NOTE: Use an XML sitemap, and submit it on Google Webmaster Tools (and similar at other engines). If the URL is on the sitemap, it should get preference over a URL not on the sitemap.
Currently on Google
You sites listings don't show any pcsid numbers, so the duplicate content issue may not be a big problem. You do, however, want credit when someone links to your page and add a pcsid in their linking url.
If your shopping cart provider does not have a way for you to fix this, urge them to add it.