OP, here at MDC you won't find anyone advocating hitting (spanking/smacking/bopping... however you want to term it). I say take that discipline "tool" out of your toolbelt, learn from past mistakes, and banish any feelings of guilt. As the pp said, the focus now should be on finding new (more effective, less problematic) discipline tools.
It seems like there are two issues at play here. One is finding effective ways of teaching your children to express themselves (their frustrations, anger etc) appropriately. The other is dealing with parenting conflicts with your mom.
I think you need to have a frank conversation with your mom. YOU are the parent. You need to state in no uncertain terms that you want advice from her ONLY when you've asked for it. And she needs to leave the disciplining to you. It is unacceptable for her to step in (without being asked!) when you are disciplining your kids. Yes, she's BTDT, and might even have some great parenting insights.... BUT it is not at all ok for her to step in, override your decisions and offer unwanted, unsolicited advice. You could even say to her (if it's true) that you'd like to hear her thoughts on parenting/discipline/etc - you're sure she has a lot of great advice since she's BTDT and she did a good job raising you - but when she oversteps her bounds then you just shut off. Anything positive that she might otherwise have gotten across is going to be lost in your feelings of frustration, feeling like you're being called a bad mother, etc. Maybe you could come to an agreement that she does not step during times when you're disciplining (unless asked), but in a calm moment (not in "the moment") she can bring up conversations about parenting techniques... BUT she needs to let it drop immediately if you ask her to.
As for your kids.... your spirited dd. Well, at the very least, FWIW, I promise you that these are very age-appropriate behaviours. Three year olds and four year olds are still just beginning their journey of learning the impulse control to not act out with hitting (etc) when they're mad or frustrated. And four, in particular, is a very trying age. The attitude and back-talking that you described is very very common among kids that age. The good news is that this will get better as they get older (I promise!). In the meantime you need to find some tools to help them learn that impulse control.
A few ideas off the top of my head:
- look at outside triggers. There are lots of things that can contribute to people getting in a bad mood, and if you are aware of them sometimes you can head off bad behaviours at the pass. I know with my kids when they're hungry or tired then it's game over. Sugar too makes them first crazy hyper, and then shortly after they get super grumpy. I've seen other posters here mention sensitivities to food dyes as a major trigger, or perhaps certain foods (gluten? dairy?). You'll have to do a little thinking and observing and see if there's anything like that that you can pinpoint and anticipate (ex. always bringing along a small snack in case you see the beginning grumpy signs of hunger sneaking in).
- make sure their "cups are full". Especially having two little kids so close together it's hard to make sure everyone's getting a lot of individual attention. Sometimes "acting out" is really a way of getting attention (even if it's negative). The idea is that if you can find a way to give enough (whatever that means for your kiddo!) undivided attention *before*, then you might be able to prevent the acting out *later*. I know - easier said than done. I fail on this one a lot!
- give your 4yo words that ARE ok to use. So if she says something in a whiny/sassy/whatever way, you can tell her the acceptable way of saying/asking and then ask her to repeat it back. Ex. 4yo (in whiny voice): "I don't want broccoli. I hate broccoli. Broccoli is DISGUSTING!". You: "Please speak nicely. You can say: 'No thank you. I don't care for broccoli". Her: "No thank you. I don't care for broccoli". Then repeat, repeat, repeat. It takes a lot of repeating for (most) kids to learn how to edit themselves. Be prepared that it will take some time and work for this to sink in.
- give your kids tool to use with each other. Instead of just "no hitting!" tell them what they CAN do. I tell my kids that if their sibling does something that's bugging them they should ask politely for the other kid to stop, and if that doesn't work they should come get a grown-up to help resolve things. Resorting to hitting/yelling/throwing is not ok. This too will take lots and lots of repeating before it sinks in.
- some people have had success with sticker charts. The idea is to reward good behaviour. Celebrate every tiny victory. Every time you catch one of your kids almost about to hit, but then they stop themselves, they get a sticker. Every time they ask for something more politely than usual (not even perfectly) give them a sticker. Start small. It is a long road to learn socially acceptable behaviours. Reward each teeny tiny step along the way. *disclaimer* a lot of mamas here at MDC don't believe in using rewards as a behaviour modification tool. I'm not that into it myself (though have known to offer bribes for getting through unpleasant experiences like dentist visits). But I know families that have used sticker charts with success and are very happy to have that "tool" in their belt, so I thought I'd offer up the idea to you.
I could brainstorm more ideas but that'll have to be it for now as I need to go do a little "sibling management" myself!
Good luck mama!