Had to look up the Talyvel as I wasn't familiar with it. Probably not cheap! I was once thinking of checking my lathe bed for wear using a precision level and moving down the bed recording values. I think the math got me, but the technique certainly works. For a granite surface plate, the surface may not be as smooth as you think. A polished steel flat will move over it fine, but anything with small contact points (sapphire balls?) will probably think it's on pavement due to all the tiny pock marks.
I've got a somewhat unusual optical level from surplus. It's basically a hanging mirror, a pendulum. The mirror was polished perfectly parallel when made, checked by using it as an etalon. Then it was silvered. To zero the pendulum, it gets rotated 180 degrees (viewed with an autocollimator) and adjusted (a small moving weight) until there's no difference in angle. Since the mirror is dead parallel, we know it's now vertical. The thing is simple, a mirror with knife edges resting on flats, like a balance. The lower part is in an oil bath to provide damping.
There are probably 50 ways to do what you want, but I'd be thinking a pendulum like my mirror assembly, knife edges not watch jewels. There's a reason chemical balances have been made with knife edges forever. Near zero friction, but the edges do have to be knife sharp. LVDTs are non contact and I've used them with good success in the past. You can certainly DIY one, or buy surplus. I'd probably go for a capacitance sensor on the side of the lower part of the pendulum. Reasonably easy to do. Or, just mount a ferrite rod on the side of the pendulum, inserted halfway into a coil on the frame. Make it part of an oscillator circuit and count the output with a counter. The optical guy in me says use a laser pointer to a PSD, but I don't know if the baseline is long enough to do as well as the other schemes. The resolution of any of those systems can far exceed what you need.