How can I create a variable “time limit” so that the survey detects and screens out speeders?
You can make that information available within the survey, by adding a ‘derived value’ field that picks up the time taken between any two pages.
2 page timestamps are recorded for every page. One when it is displayed and one when it is submitted.
For example - the timestamp for when Page 1 was displayed is the variables $PAGE_DISPLAY_1
So to calculate the time someone took between pages 1 and (say) 10 then decide to kick them out on page 11 if it was less than 60 seconds, then create athe expression is simply
($PAGE_SUBMIT_10 - $PAGE_SUBMIT_1)<60
Please note that the value will be measured in seconds, also you can of course only calculate this value on a page after the ones you want to measure.