If you have built a WebUserControl into a .dll, and you build that .dll to a commonly located deployment package folder, then it should be referenced (from all projects) from that folder. This way when each subsequent project that references this file (regardless of the location of the project on the local file system) will automatically get the latest copy of the .dll from that location. Our team has a common folder kept relative to our global solutions folder that references all 3rd party libraries and common company libraries that we treat as if they were 3rd party libraries.
The references are made to this folder and web application projects will use this file for each build. If you have a website project, the .dll will attach a .refresh file to it. As long as that refresh file points to the relative path indicated in the global folder, you should only have to build this file once. Each subsequent external project build will include the new dll automagically.
As an example:
C:\Projects\Common <-- Store your dll here
As long as the other projects reference
C:\Projects\Common\MySharedControls.dll the same way it should be seamless.