I don't have an answer to your question (which I like a lot!), but I have two thoughts, the first related to @Bob Pego's comment: at a purely algebraic level, the requirement that the normal vector split the ray and its reflection is satisfied by four points on the circle in general (corresponding to Bob's 4th degree equation, and showing that this equation didn't introduce extraneous roots). Here's a (very rough) picture of the situation, where each solution is colored differently:
The red dot is P; the four circle-intersections are (I hope) clear.
The second comment is that whether perhaps the question you asked is the wrong one: if we actually want to construct an anamorphic image, we already KNOW what we want the picture in the cylinder to look like. From an eye-point E, we can trace to the arropriate cylinder point and reflect to determine where on the canvas to put the appropriate mark.
If, on the other hand, you want to make an anamorphic-image-viewer, where you start with the colored canvas and compute the anamorphic image that will be displayed, then your question is the right one. To do that task in practice is relatively simple: you do the thing I described in the first case for a few hundred points in a grid. Each little rectangle in your grid is mapped almost linearly, so you extend the (inverse) mapping by bilinear interpolation on a cell-by-cell basis. I suspect it can be done easily in real time on a modern graphics card...but that takes us far from the domain of constructability with ruler and compass.