The answer given here is false, there are market apps which have a programmatic clear all app cache functionality. Furthermore the following is in the documentation:
public static final String CLEAR_APP_CACHE
Since: API Level 1 in android
Allows an application to clear the caches of all installed applications on the device.
Constant Value:
android.permission.CLEAR_APP_CACHE
Note the "all installed applications portion", and the fact that you don't need any root access or special permissions beyond a standard user permission.
I post here because I have a requirement on a deliverable to clear all app caches every 24 hours on an in store demo phone and I'm trying to figure out how to use this properly. I know that part of the solution is getting this permission, I also know how to find all installed applications on the device, and I'm working on being able to actually delete the cache. My issue is other app caches read as containing no files (despite having content), I suspect because I don't have read access to make the list Files call.