I wouldn't tweak shaders to do this, it would be far too wasteful.
Since one part will vanish, then the most logical option is just to clip the original mesh. If the line will split the sprite in two always (i.e. a full line, not a partial line), then the result of the clip will always be convex as it starts from a convex shape (a quad).
With a convex shape, clipping should be pretty straightforward.
- Read up on (or find some code for) line clipping algorithms.
- Calculate your four points for the quad (clipped sprite has code describing this)
- Calculate the lines forming your quad
- Foreach line, clip with your clipping line - if its clipped, insert the clipped point into the point list
- Foreach point, discard if it is "behind" the clipping line.
- With the remaining lines, sort and triangulate.
- If you keep the polygon shape in addition to triangulated polys, performing subsequent clips on it will be quick. Just repeat the above process
I would use the clipped sprite code as a basis and go from there.
It probably sounds really complicated, but break it down to the core steps and each one is easily realizable.