Your expansion tank has likely failed or isn't large enough for your hot water tank. Expansion tanks have a bladder in the middle that ensures it is half full of air and needs to be periodically checked to be sure it's properly pressurized. These bladders eventually fail, allowing water to enter the air side, which eliminates the ability to absorb the expanding water.
Replacing the expansion tank may be a simple process if it's just screwed on. With the water shutoff, you unscrew the existing tank, pressurize a new tank, apply some plumbing dope to the threads, and screw the new tank on.
The change in water heaters should not have affected any of the physics of how the hot water travels through your home. Water will take just as long to travel through the pipes to the second floor as before, and it will lose a similar amount of heat along the way.
My guess is that your new water heater is set to a lower temperature than your old one. Water heater manufacturers and plumbers are more sensitive to scalding danger now than they used to be. The current recommendations are generally not to exceed 125*F.
You probably have a preference for how "hot" you want the water coming out of your faucet to be for washing your hands, maybe it's around 120*F. You mix hot and cold water at the faucet to reach this temperature.
I'm sure you've experienced that when you turn on the shower or the faucet to "hot," the water starts cool and at some point it starts gradually warming up, until it reaches some maximum temperature (this maximum temperature likely varies around the house--the facuets furthest from the heater will have a lower maximum temperature than those close to the heater, as some heat is lost from the pipes along the way).
It can take quite a while from when the water first starts warming until it reaches full temperature--you not only have to get water from the water heater to the faucet, but you must heat up all the pipes along the way before you reach steady state. This can take minutes. The hot water is often much hotter when you're done washing a sink load of dishes than when you started.
If your old water heater had been set to a higher temperature, say 140*F, the water will reach your desired temperature of 120*F a bit quicker than your new water heater, if your new water heater is set to 125*F. With your new water heater, you need to get almost all the way to the setpoint of 125*F before you reach your desired temperature of 120*F. This takes some time.
Therefore, you might try adjusting the setpoint of your new water heater, but be aware that the risk of scalding is serious, especially with young children or the elderly. See The Burn Foundation for more information.
Best Answer
If you have an electric hot water heater, it may mean that one of your two elements has burned out. Most electric hot water heaters have an uppper and a lower element; the upper runs until the top of the tank is hot, which provides quick recovery time, then when the top thermostat is satisfied, it transfers power to the lower thermostat, which heats until the entire tank is hot.
If you are getting less than a full tank of hot water, the most likely cause is the bottom element burning out. Less likely, either of the thermostats could be faulty, which could be keeping the lower element from turning on.
If the upper element were burned out, you most likely wouldn't get any water, since the lower element is usually not turned on until the upper one shuts off.