Actually most bodywork shop should be able to do it. You just need to sand it down then put on a new coat of lacquer, it all depends on the skill of the person working on it.
How long it will last depends a lot on the lacquer used, how many lacquers and if it is under shelter most of the time or not. However, in general it should last u another 2~3 years min. You may wanna consider PPF but to be honest, with the price of a good PPF you might as well just get it relacquer every few years (provided you will still be driving the car).