They should really be source controlled like everything else. If you use Subversion you could have them stored in a different repository and included as an svn-external on your main project repository if you didn’t want them cluttering up your main repo. I’m sure other source control solutions offer similar functionality.
You really ought to keep them in source control. If you’re using Subversion, as Beepcake says, you can use svn:externals to share the files between different projects.
Alternatively, you could have a custom build action that fetches the latest copy of the shared files from wherever you keep them. We do this in a variety of ways — either we issue an “svn checkout” for a subdirectory (but svn:externals would work for this), or we do a “wget …” to grab the output from the last successful build of another project (we use TeamCity for continuous integration, and it makes “artifacts” available over HTTP).
Images and other binaries should be in source control just like your code files. Especially since they are changing often.
That said, there is absolutely no harm in setting up a different project that only contains your binary files; and having it on a different deployment schedule.