How can I cycle through items in a DynamoDB table?
I think the simplest option is probably:

use scan with Limit=1 and do not supply ExclusiveStartKey, this will get the first item
if an item was returned and LastEvaluatedKey is present in the response, then re-run scan with ExclusiveStartKey set to the LastEvaluatedKey of the prior response and again Limit=1, repeat step 2 until no item returned or LastEvaluatedKey is absent
when you get zero items returned, you've hit the end of the table, goto step 1

This is an unusual pattern and probably not super-efficient, so if you can share any more about what you're actually trying to do here, then we might be able to propose better options.
How can I cycle through items in a DynamoDB table?
That is, if I have a table containing [A,B,C], how can I efficiently get item A with my first call, item B with my second call, item C with my third call and item A again with my fourth call, repeat?
This table could in the future expand to include D, E, F etc and I would like to incorporate the new elements into the cycle. 
The current way I am doing it is giving each item an attribute "seen". We scan the whole table, find an element that's not "seen" and put it back as "seen". When everything has been "seen", make all elements not "seen" again. This is very expensive.