This one is not too hard for native English speakers, but we cannot always be sure. The expression is similar to the old-fashioned English idiom, “to take or get 40 winks”. He just felt like taking a nap. I wonder why Czechs need only 20 winks when we need 40. Maybe they work harder. Perhaps, but if that were true, then why do we only have time now for our “power naps”?
I personally think they say 20 instead of 40 because it sounds better as a phrase. “Dát si” seems to rhyme or rather have a pleasant rhythm with “dvacet”, whereas, the idiom in English uses 40, because this number throughout history has been associated with completeness. This reflects back to Biblical origins. Of course, these are merely my musings and should be “taken with a grain of salt”… but that’s another article.
Examples: (with literal English translation)
CZ: Po obědě jsem byla tak unavená, že jsem si musela dát dvacet..
ENG: I was so tired after lunch that I had to give myself twenty.
CZ: Kde je Tomáš?
CZ: Nevím, asi si někde dává dvacet. Včera byl na party a dnes přišel do práce a hodně ho bolela hlava.
ENG: Where is Tomáš?
ENG: I don´t know, he might be somewhere giving himself twenty. He was at a party yesterday and he came to work today and the head hurt him a lot (and he had a big headache).
GRAMMAR NOTE: Remember that SI as well as SE always takes the second position in a Czech sentence (the only exception is in the past tense, then it takes the third position – after the verb „TO BE“).