A suggestion regarding persistence.
This is the sort of program that can use "fake" persistence. In other words, you don't need to explicitly store position across restarts. Which is good, because currently there is no way to reliably do so.
What you do is box the turtle in (by, say, a ring of blocks at two high. If you don't want to block movement you can use signs or something.). Then, on startup, just have the turtle move forward and inspect until it hits the blocktype the ring is made of. Check to see if the chest is below the turtle, turn right (or left), and repeat until you see the chest. This will get you back to your starting point.
Alternatively, move the chest up one block, and just make it so the turtle always stays above sugar cane. (It will slow down growth slightly, as it blocks one sugar cane from growing, but not too much.) (Note: you cannot actually make it so the turtle always stays above sugar cane without additional blocker blocks. However, what you do is, if you are above sugar cane never move backwards. Then, if you aren't above sugar cane, move back one and you should be above sugar cane again.)
Edited by The Lone Wolfling, 18 March 2015 - 11:49 AM.