PLS_Toolbox for Matlab is one of the most robust packages for this, and it is user-friendly. However, it is somewhat expensive if you are not at a university. The Unscrambler can do this as well as the Statistics Toolbox for Matlab, but they are harder to use if you ask me. If you know the R programming language (it is similar to Matlab but easier to do simple statistics), there are free packages for it (most are included with the language) and the language is free. The R language is fairly easy to learn if you do not know it. If you are a gifted programmer, you can also do this in Excel, but that requires an intimate knowledge of both Excel and PLS, so I do not recommend this route. Other programming languages can do what you want, but they are not as straightforward to use as R or Matlab.
Hi, For massive amounts of data, initially a variable selection is performed based in the loadings of PCA calculated using matlab, after this approach the Pirouette software is a good option. Alternatively all analysis can be performed using matlab.