Hello,
I have used the following plug-in, which works well for keeping track of read/unread posts. The user can manage this manually, or the plug-in can automatically mark posts as read after a configurable duration.
https://pippinsplugins.com/mark-as-read-for-wordpress/
I would like to know if you have any further insight on the second part of your question. I am in need of a method to provide some method to allow a user to easily return to where they last finished reading within a post listing sequence (blog list). The most specific need you asked about (where a person left off within a post) would be very useful as well. For me, if I could take a person back to the next post after the one they finished on their last visit, it would be sufficient.