You are treating the arguments to Create List as if they are being evaluated via eval() and it does not work that way.
There are many ways to work with lists.
Here is the cleanest example I can think of based on your post:
${time pairs}= Create List 10:15 17:00 18:50 20:00
:FOR ${starttime} ${endtime} IN @{time pairs}
\ Log ${starttime}
\ Log ${endtime}
Here, the pairs appear in order in a single-dimensional list. RF will take the items out two at a time and put them in starttime and endtime because there are two arguments before the IN.