In a word... No. The DLL cache is a reservoir for your system files to be backed up in. When you need to run System File Checker (SFC), it is the files in the DLL Cache that are compared to what is installed.
When you say "remove duplicate files in the system" are you thinking of deleting system files from the System32 folder? Bad move, and it will be a fruitless one at that. When system files are somehow deleted from the System32 folder, they are replaced by files held in the DLL Cache, and if they can't be replaced, you will get a warning from Windows that system files have been tampered with and are unable to be restored from the DLL Cache. Don't expect your computer to start up again if they are deleted.
The system files in the System32 folder are not duplicates, they are what is running your computer and it can't run without them. Some of these files may be duplicated in other places in the hard drive and were put there for a reason by some applications that need a specific alteration of the actual system files. They do this to keep your system running without ill-effects of modifying the normal system files in use. You won't save much space by deleting them and can expect serious consequences if you do delete them.