Can UPX (upx.sourceforge.net) compact .net executables/dlls ?
UPX is only for native executables. There are a number of compressors for .NET executables around you could try my one RPX it does good compression even on small executables and can bundle multiple DLL(s) into a single .EXE file.
However there are some limitations caused by the manner, or more precisely the order, by which .NET looks for additional assemblies to load and where from (i.e 1. GAC, 2. File system, 3. Bundle) and is complicated more if you are using AppDomains inside your application.
Check the docs for more details. Hope that helps.
Please note: This is my project and as such this answer should not be seen as an endorsement from a third party. That said I do use it regularly, it is open source and it is my hope that others may benefit from it.