The answer is really yes and yes.
- To debug from your local machine you will need to set up remote debugging on your server (see http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2013/task_D76A55C77B39455C88BA8159131156AC)
- You can either upload your DLL using the
CME interface or use the upload
TCMUploadAssembly.exe
which comes with Tridion (this can be configured as a build event from your local machine in Visual Studio if you like to work that way (see http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2013/concept_62DF7C10DF8C4690B977CD7D53124D97).
Both links above require an SDL login)