S.G.
It doesn't sound like your daughter is a bully as much as she isn't sure on proper behavior yet. She changes it as soon as she is told to, a bully would keep doing it. She is just learning so this is a very important time to teach her to put herself in someone elses shoes. Take the incident of the spitting on a child. Sit down with her and ask her how she thinks that child felt... how would she feel if a lot of kids spit on her? Even at 3, they can understand this and believe it or not they do reason. You might also give her some ways to handle a situation if she sees a child being bullied. Can she tell the other kids don't, can she go get a teacher, can she take the child's hand and lead them somewhere else, but she can't join in, no matter what. Even my 2 year old granddaughter has learned to handle bad situations to a point. She has cousins who aren't always nice (as 2 and 3 year olds can be) and we taught her to tell the offender "I don't like to be treated that way" or if someone tries to take away a toy or something, she doesn't have to give it up, she can say no. She has learned this and it gives her not only power but also self confidence knowing she can take care of the situation and if that doesn't work, she tells us and we will take care of it with her. It always is good to take time to teach children to compassion for other and that is how the day care should be handling it. When one hurts another child, they should be helping "heal" the hurt with helping hold the ice on the spot, or in the spitting situation, given a washrag and help clean up the child first, then having the punishment as in time out. Work on this at home also.
Make sure when you teach obedience she understand the difference between good obedience and bad obedience. Yes you have to listen to the teachers and parents, but if someone tells you to do something bad or hurtful to yourself or another person it is ok to say no. This makes them leaders and not followers.