Is there a way to disable cache clearing?

Set PurgeCacheDays to 0 and it will never be cleared, there is no size limit.

If you want more fine-grained control, what you want is a cache manager, also called converter or extractor. This also allows you to host games with downloaded files (sometimes, success rate varies), if memory serves me right this is not possible with cached files.

A cache manager copies the downloaded files from the /Cache/ folder to the appropriate sub-folders. Usually you have to chose which files you want to keep manually, some of them allow certain amounts of automation.

I think I personally used UT2004Mi, the official page of which seems to be gone, but Google still lists quite a few downloads.