You can set the field using 'Get(Timestamp)' or 'Get(CurrentDate)' functions with a script trigger.
Write a script with a set Field script step. i.e. Set Field[yourtablename::your fieldname]. In the calculated result use 'Get(Timestamp)'
The only problem then is when to trigger the script, what happens at one of these landmarks? If it is certain text that gets entered you could test the field with an 'OnObjectModify' triggered script that looks for that specific text string. (PatternCount)
Hope this Helps
I would suggest that you use a self-join relationship with the 'child side' sorted at the relationship level (descending on that date field). Then placing your self-join fields directly on your layout will always show the last landmark reached because, when looking at a related table, the main table will always only see the FIRST related record (according to the relationship sort).
A calculation will also only see the first related record (depending upon this sort) so you can refer directly to this child record, similar to:
selfjoin::LandMark = "Post3" ; "2 laps to go" ;
selfjoin::LandMark = "Post2" ; "3 laps to go" ;
selfjoin::LandMark = "Post1" ; "4 laps to go" ;
* By self-join, I simply mean create another occurrence of your main table occurrence and join to your main table occurrence.