Is there a way to upload precompiled code to an arduino?
Is there a way to compile arduino code without automatically uploading it, so that I can put the pre-compiled binary up for download on a website? 


Yes, you can save the .hex file produced by the compiler. If you turn on verbose output from the compiler you can find the temporary directory where it is stored. Simply copy from there to a folder for download on the website.


  And then after this how would I go about manually uploading it (To the arduino)?


You can do that with the command line tool avrdude but as that is somewhat complex with a lot of parameters it might be easier to use a graphical front-end. One such tool is xloader. There are several. This depends on your end-users and the host machine that they will be using. 

You can find some more info here. 

Cheers!