The Z-Buffer algorithm itself does not use image-space coherence concept, it works exactly as we know. But the result of this algorith is quite coherent, which means that for any given pixel there's a big chance that neighboring pixels have similar value.
This property (image-space coherence) of Z-Buffer data makes it possible to use i.e. Quad-Tree to make some tests faster. (If you had noise in ZBuffer then there's no point in using QuadTree over such data).
So in short: The coherence of data coming from traditional Z-Buffer makes it reasonable to use Hierarchical Visibility tests.
I hope this answers your first question. For the second let's say you're writing your own ZBuffer and you want to add a feature of Hierarchical Visibility tests. You have a grid of Z values already and you add a QuadTree, which contains
min/max values for each node. At start you initialize those structures as needed.
Then you render a pixel, you compute its Z and test it with latest Z value of this pixel. If it's visible you store the new Z value but you also need to update the Quad-Tree and this is the 'incremental update' part.