The wiki that Sandy mentioned describes pretty well how to set up the substitutions in general. Basically you just need to tweak the substitution profiles and classifications in a certain way. E.g. create ZALL profile, and assign the needed classifications to it, etc. The standard profile ALL shows how to to assign several classifications to one profile.
Anyhow, if I understand you correctly you still want to restrict the usage of the standard profile ALL (because it gives the user an "access" to all tasks). This is a classic problem, and there are few ways to overcome this problem. If you are using UWL, then the BADI WF_SUBSTITUTE will help (of course you need a little bit of coding there). If you are using business workplace, then if I remember correctly the above mentioned BADI is out of question. Then you might need to do some kind enhancement to the standard. One option is also to just remove the ALL profile from the configuration completely. This is of course a little bit questionable action, because it is a standard profile, but I know that some developers/consultants have done it this way too.
Kind regards,
Karri