Hi William,
We played with the same idea and found it possible but it is not a very efficient, especially on large documents. We don't use this any longer. This workflow will move pages out of one document and into another wherever a sticky note is found unless the notes are on 2 consecutive pages. ( I think the document page count must change when the first page is moved out and throws the page count vs iteration off, you would have to play with this. We only ever looked for a single sticky note )
My workflow with what, how and why.

The first Search Repository looks in my process folder for any documents that have an annotation note.
{LF:LOOKIN="LFICHE\IT\Process_Docs"} & {LF:AnnType="note"}
For each document that has a note I run a 'Find Entry' using the entry ID in order to obtain the page count from the additional properties tab.

Once I know the page count I set up a repeat loop so that we can look at every page.

My 2nd search, 'Search Repository 2', looks at each individual page in the document for a note.
This is were efficiency is lost, having to run a search on every page.
{LF:ID=%(ForEachEntry_CurrentEntry_ID)} & {LF:LOOKIN="LFICHE\IT\Process_Docs"}& {LF:AnnPage="%(Repeat_Iteration)"}
If the search is successful, I create a new document that I want to move my page(s) to. ( using 'return existing entry if found' )
Then I move the pages using the iteration counter

It works ......
This looks for any sticky note on a page but a little modification on the searches and you could find specific annotation text, highlights or etc.
Two consecutive pages with notes will only result in the first page being moved, others in the doc will still be moved. You might try creating a token with a CSV list of page numbers that are found with notes as you search and then move all the pages at once after the search is complete using the token as the page range. ??
Anyhow something to play with. Have fun.
Andrew