Is it possible to access adjacent vertex data in tessellation evaluation shader?

I'm trying to render thick cubic Bezier curves using the whole OpenGL 4.5 pipeline:

1. I render a patch with 4 control points.
3. TCS - sendng 4 vertices to tessalator with gl_TessLevelOuter[1] = 10
4. TES - calculating position for every of those 10 tessellated isoline points using Bezier curve equation
5. Geometry shader - making quads out of every line it receives extruding vertices along line's normal vector.

So far so good but this will obviously lead to cracks between adjacent quads. To solve this problem I would need to know the position of adjacent lines in TES or GS to correct edges. Is this information available?

It should be this perpendicular which you feed to the GS to do the quad extrusion. And you should be guaranteed to have invariant results. The TES's computation of the position and perpendicular will be based solely on the positions of the control points and the tessellation coordinates. The control points are fixed for all invocations of a TES over a patch, and the tessellator guarantees the invariance of gl_TessCoord for the "same vertex".