ICETOOL is a function available with DFSORT. As far as I know, CA-SORT does not have the ICETOOL function. So you can't use ICETOOL through CA-SORT.
The ICE601I message indicates you do have DFSORT so when you use PGM=ICETOOL, you're invoking DFSORT's ICETOOL. The CAS messages are from CA-SORT, so it appears you have both DFSORT and CA-SORT.
Here's what I think is happening.
The CA-SORT libraries are higher in the order of search then the DFSORT libraries.
You use PGM=ICETOOL. ICETOOL is found in the DFSORT library, so DFSORT's ICETOOL is invoked. DFSORT then LINKs to ICEMAN, but ICEMAN is an alias in the CA-SORT library, so CA-SORT is called instead of DFSORT (since the CA-SORT libs are higher in the order of search). Since CA-SORT does not understand the ICETOOL JCL/control statement, it terminates.
Since you have both DFSORT and CA-SORT, you could use DFSORT's ICETOOL by using a JOBLIB to the DFSORT library. This will ensure that DFSORT's ICETOOL calls DFSORT, not CA-SORT.
But if you're trying to use ICETOOL with CA-SORT itself, you're out of luck because CA-SORT doesn't have that function!
What is going on here? Why do you have both CA-SORT and DFSORT. Are you trying to migrate from one to the other (which)?
You might want to talk to your System Programmers about putting the DFSORT libraries higher in the order of search then the CA-SORT libraries, so you can use DFSORT as your primary sort product. That will also allow you to use DFSORT's ICETOOL without having to STEPLIB.