You really need to toddler proof the cupboards and doors. You talk about her soon figuring out where the snack cupboard is as if you have no control as to whether she gets into it.
She is not "intent on being naughty". She is a normal 20 month old that is inquisitive. You need to distract her, not hit her.
Children do not come out of the womb knowing how to behave, you have to teach them.
My DC is 2.5 now. When he started crawling and opening doors, I removed him every single time and told him No. I didn't use toddler locks. If I was working in the kitchen, I set him up with toys to distract him. He has never once emptied a cupboard. The only one he opens now is to get his bowl or plate at meal times. He knows where the snack cupboard is but will not open it unless I say he can.
Don't get me wrong, he can be very messy but when he messes, he also tidies up. I make it a game and he is used to it by now and gives himself a big clap when all the toys are put away.
As for the sleep. If she wakes up at 2am every night and you go to bed at midnight, then of course you will be tired. My DC wakes at 6am every morning. Before I had him, I was a night owl, in bed between 12 and 1am. Now I can't function on 5 hours sleep so I go to bed at 10.30pm. I would prefer to go to bed later but needs must.
If I were you, I would do some sleep training so that she stays in her cot. My dc went through a period of waking and coming into my bed and like yours, he did anything but sleep so instead of bringing him into my bed, I would go into his room whe he woke up and sit in an armchair until he fell back to sleep. Some nights I was there all night but at least I could doze in the armchair and he slept which meant a better mood the next day. After a couple of weeks, he stopped waking up in the middle of the night.