Selectors
Maybe important thing to note: .epub is not the only format which can be annotated. Sony (the reader) nicely handles PDF annotation providing the same interaction (likely other formats too, but I haven't tried).
Here it looks so:
Code:
<annotation>
<dc:identifier>urn:uuid:3C64633A6964-656E-7469-666965722F3E</dc:identifier>
<dc:date>2010-03-03T03:36:21Z</dc:date>
<target>
<fragment start="#pdfloc(9c75,44,78,0,9,0,0,1)" end="#pdfloc(9c75,44,89,0,10,0,1,1)"/>
</target>
<content>
<dc:date>2010-03-03T03:36:21Z</dc:date>
<text/>
</content>
<sony:data xmlns:sony="http://www.sony.com/xmlns/product/prs/adeannotations">
<sony:item name="identifier" value="prsID.2.highlight:44-1-0-I3BkZmxvYyg5Yzc1LDQ0LDc4LDAsOSwwLDAsMSkA-I3BkZmxvYyg5Yzc1LDQ0LDg5LDAsMTAsMCwxLDEpAA==" />
<sony:identifier>PLEASE IGNORE</sony:identifier>
<sony:item name="duplicate" value="false" />
</sony:data>
</annotation>
In case of PDF we won't be able to use selectors, so the page/position-based method also may be needed (at least if the solution is to be able to accomodate different file formats).
Inside or in separate file
Considering readers keep annotations in separate file, different formats can be used and you plan to survive editing, I am not sure whether the idea of saving annotations inside .epub is good, I'd rather keep them separately. This may be also better from the copyright/editing rights/... point of view (leaving apart discussion whether I can edit bought epub, separate annotation file can be safely and easily send to friend without troubling anyone rights).