I am so sorry that your little girl is having such a hard time, and making life hard for you. We often act as if our children should take a new baby in stride and not be concerned. The truth is, it is a huge adjustment for our child and they need more love and attention from us than ever to manage it -- just at a time when we don't have enough hands or attention to go around, when we are sleepless, and when our child is at her least appealing. But if you can see things from her perspective, you can help her find her way back to her happy, confident self.
I'm wondering whether all these are due to her jealousy?
Most likely. That would be completely normal. She feels disconsolate that she is no longer your beloved only baby, so she is whiny and easily upset. She feels that something has been stolen from her so she grabs the baby's things. She feels disconnected from you, so she is defiant. She is afraid she is losing you so she wants you all the time. She knows she has lost her dad, so she can't bear to be with him and disappoint him further.
But remember that all children will test limits. Here's a post on that: http://www.ahaparenting.com/_blog/Parenting_Blog/post/How_to_Help_Kids_Who_Test_the_Limits/
And remember she is also quite tired because she no longer naps, so she doesn't have the inner resources to cope any more. When she gets home from preschool, can you put the baby in a carrier and focus only on snuggling on the couch with your big girl? Read her stories, kiss her toes, let her talk about school. She needs a chance to unwind and discharge all that stress from her day, and to reconnect with you while doing it. After that she will be able to settle down to play.
Is she behaving like this just to get our attention?
No, she is behaving like this because she is very upset inside and she needs your help. She is afraid that you got a baby because she was not good enough and that you don't love her any more. She is especially afraid that her father does not love her any more, which is why he yells at her. She knows she is a bad person because she wishes her sister would go away and because she does not want to share with her sister and because she realizes that she is no longer a delight to you, only a source of frustration.
BUT your loving attention is what will cure her fear. She may need to do some crying and raging to get that fear out, but your acceptance of her feelings is what will heal her. And it is only your loving attention that can create the trust that is necessary before she will "show" you those feelings.
So as often as possible, build trust with her by listening, connecting, playing games she wants to. And help her express her feelings by playing games that surface those feelings. Here's a whole page of those games, please especially note the "Fix" game for kids with new siblings:
Games for Connection and Emotional Intelligence
When i just had the baby she was like that for 1-2 months but then she got over it why is she feeling jealous again all of a sudden?
It is VERY common for kids to recover from a sibling's birth after a couple of months but then regress again at nine months or so. That's when babies start to get into their things, want their toys, etc. And the baby is clearly not going to go away.
She also seems to regress compared to months ago (she wants to be carried like a baby and needs me to put on her shoes).
Completely normal. Indulge her. Let her sit in the stroller, put on her shoes, etc. Say "You want to be my baby right now, don't you? You will ALWAYS be my baby, no matter how big you get, no matter how good you get at putting on your shoes. Come here, my little baby, let me help you with your shoes." Once you fill this need, she won't need it any more and will put on her own shoes, because children always want mastery once their dependency needs are met.
I talked to her teachers at preschool and she seems to be doing fine and enjoying herself there.
That's very good news. It's great she has a world outside the home that she doesn't have to share with her sister.
I do spend a lot of time alone with her daily.
GREAT! That's the most important thing you can do. Here's a post about how to connect deeply with her:
I talk to her about how she's a big sister now and how I like her to behave etc. I know she's capable of understanding as she does listen and behaves very well sometimes. I would like to teach her more self-control which I feel she lacks compared to kids of her age and not let anger take over her. She knows when she's done something wrong but she just can't control herself.
That's ok, but remember that repeated lecturing is not useful. She already knows what is right and hates herself that she can't control herself, but her feelings are just too powerful. Her brain is still developing and she will be a lot more able to manage herself in a year. You can hasten this process by offering her empathy and understanding. Here's an example of how to do that, specifically in the context of her being aggressive with her sibling:
Tougher Than Lion Taming: When your child hits your other child
How can I teach her to share everything with her baby sister (she's very aggressive and possessive and not good with sharing with other kids since young)?
Well, you can help her learn to share, but please don't make her share anything at all with her sister right now. She already has to share her beloved parents. She should NOT be asked to share her toys. However, you can help her wait for her turn rather than grabbing from her sister.
When she grabs, gently empathize with how much she wants that thing, but it is her sister's turn right now, and you will help her wait for her turn. She will almost certainly have a big meltdown, which is a great opportunity for her to show you all her feelings about how unfair life is and how much she can't bear that she has to share EVERYTHING!! Listen with empathy. Remember that kids who are very aggressive and possessive are afraid, so she will probably be showing you her fear by sweating, writhing and kicking in her meltdown. Here's a post on Sharing that includes instructions on how to help kids wait their turn.
Ten Steps to Teach Your Child To Share
What can I do to help her to become herself the cheerful little girl again?
1. Meet her deep need for reassurance that she is still loved by playing games like the Fix game daily.
2. Help your husband to see it from your daughter's perspective so he stops yelling at her. She is four years old and miserable. Yelling at her is unfair and will only make things worse.
3. Connect with her deeply, as suggested above.
4. Help her with her emotions. Sometimes kids just need to cry and have us understand their misery. Here's a post about how to do that.
5. Love her unconditionally, whining and all. Kids need our love most when they least "deserve" it. Find ways to acknowledge her and adore her.
And enjoy her!