Yes, you can add external dlls, resources, exe, and so on in your ClickOnce setup. Look at these photos. Sorry for the language.
If you want to publish it on IIS, you will need a host. Those files (application files,setup.exe and so on) will be stored in IIS. You only need to provide a 'publish.htm' or 'setup.exe' to users. 'publish.htm'/'setup.exe' will connect to your IIS. And if you use ClickOnce, your application will be updated more easily.
Otherwise, you just need VSInstaller in VS2010 or InstallShield Limited Edition in VS2012/2013. It will produce one .exe file.