a. There isn't a book here of which I can't recite at least two pages by heart.
b. There isn't a book here at least two of whose pages I can't recite by heart.
c. There isn't a book here whose pages I can't recite at least two of by heart.
Hello, Azz and Gustavo,
These are interesting specimens. I share Gustavo's judgement that (a) the best sentence of the three, and I too find (b) and (c) to be worse and much worse, respectively, though I can't say that I find either of them ungrammatical. The stranding of "of" works much better, I think, if "which" or "that" is used:
d1. There isn't a book here which I can't recite at least two pages of by heart.
d2. There isn't a book here that I can't recite at least two pages of by heart.
With the "whose" option, too, my preference is for a construction that hasn't yet come up. I find the following option to be just as good, if not better, than (a):
e. There isn't a book here of whose pages I can't recite at least two by heart.
The reason I find your specimens so interesting, Azz, has not so much to do with how the relative clauses are constructed as with what they mean. Sentence (b) feels very different to me, semantically, from (a) and even the ugly duckling, (c). Consider the difference in focus between the following two sentences:
1. Is there a book here that you can't recite at least two pages of by heart?
2. Is there a book here at least two pages of which you can't recite by heart?
Even if both sentences must be said to have the same meaning materially, the focus is different. In (2), the speaker is interested more in what "you" can't recite than in what "you" can. I find the same difference in focus in (b).
What is special about (b), syntactically, is that "at least two" precedes the negative element ("can't") within the relative clause. In (a), (c), (d1), (d2), and (e), by contrast, "at least two" follows the negative element. This may be significant.