It very much depends on what part of the User Control you need to work with?
The .ascx file is usually placed in the CONTROLTEMPLATES 12 hive folder.
Path: /12/TEMPLATES/CONTROLTEMPLATES
Usually, in SP2007/VS2008, you create an .ascx page (which is actually just an .aspx page without the auto generated .cs file). So you'll have to create a class file and then inherit it in the .ascx file, like so:
<%@ Control Language="C#" Inherits="<assembly>" %>
Example
<%@ Control Language="C#" Inherits="Company.Solution.SubFolder.CodeBehind.MyUserControlCodeBehind" %>
Updating them is quite easy really. If your map structure in your solution is properly made, you can just deploy the .wsp package and everything should be taken care of automatically.
If you only want to update the codebehind, GAC deploy the file and recycle the WebApp and that's up and running. And with the .ascx file, you can just copy/paste it directly into the CONTROLTEMPLATES folder at any time after your first deploy.
Hope this helps :)