You seem to misunderstand some things.
Is there a way to make the computer use less RAM as the disk cache and at the same time, allocate more memory for any other GUI resources, file handles, TCP/IP sockets, and any other possible resources, especially if the computer has more RAM, sometimes even 16GB nowadays.
Memory allocation (and, more generally, management) is done by the kernel of the operating system. The cached memory is used as what its name implies: as a cache. To be more specific, the kernel has decided that some data, even if not asked by processes, are better of kept there, due to that they may be frequently used/requested and the kernel finds it non efficient to do hard disk I/O.
Having said that, it simply is a cache. If the kernel finds that it needs to utilize more memory it may as well write the cache contents back to the hard disk and use the freed memory for other purposes.
I remember at some point, it was possible to set a computer more for "desktop" tasks vs "server" tasks.
There is not much practical distinction - aside from processes each computer is running. People who want to use their computers as servers try to stop unneeded processes from running, so that more CPU time/memory is provided to the process they want to run.
Having said that, nobody stops you in your "desktop" machine from killing processes you don't want to be run so that more CPU time/memory is available to the other running processes.
So I think these are tweak-able numbers.
I may be wrong here, but seeing as this is done by the kernel of the operating system, I do not really think it's tweak-able.