You should use a combination of a Master Page and User Controls. There are pains in doing this - you should overcome them and become proficient at doing this. While this may be an isolated technology, those skills are certainly reusable in other areas of development (non ASP.NET) as well. You would do yourself a HUGE favor by becoming comfortable and even efficient at working with something like this.
Keep in mind that any jQuery/javascript you include on a reusable component will be included multiple times unless you change that (there are script register functions you can use to only load it once). But also keep in mind if you dynamically generate some of it based on control names, those control names will be very different than what you expect, so you need to use something like this (syntax is prolly off - I'm not testing this):
var firstName = document.getElementById('<% FirstName.ClientID %>').value;
Now the other thing to keep in mind is that line I just wrote there, while it does look for the ClientID, it's still not very reusable because it has the global variable named firstName
, and that will be a problem when I have a second user control that wants that same global variable.
There are lots of ways to continue down this path...