Try the book 1,2,3 Magic. Very good book.
First - absolutely NEVER negotiate or debate with a young child when you are giving directions or disciplining. Eliminating that will reduce the sass fairly quickly. When you debate over discipline or why she needs to do what she has been told she has just 'won' and you have just 'lost' control. As that parent what you say goes - PERIOD. :) Whether the kid likes it or not. There will come a time when you can let your child question and test your decisions - but not at 5.
Sass is simply disrespectful behavior on the part of the child that is being allowed to some degree by the grownup/s around her - usually because we don't know how to stop it. :) Been there - lived it! Your daughter may have a point about Grandma and you may want to adjust the time she spends with Grandma as a result (also been there done that). However, that does not mean she has the right to be rude to Grandma. :) I know you see that. That also means that you need to not be talking about grandma in front of your child in anything other than a positive way. Little kids have BIG ears and I am amazed sometimes at the things my kids hear me say when I think they are not even around.
Sometimes I think we spend so much time on positive reinforcement that we forget to seriously address the behavior that is not appropriate. So we need to step back and take a look at where that behavior comes from first. Kids live what they see - so - is there anyone else in the household who makes (sassy) comments? Is there someone else who has a (sassy) attitude she is picking up on? When she gets her sassy attitude does anyone laugh and say oh how cute that is? These are things that happen and often we don't realize that our kids are simply doing what they see us doing. Again - been there lived it! So, we need to look at our behavior and adjust there first - then go back to the child and say 'this' is not OK and will no longer be allowed. She can have her spunk and energy without being sassy...
It takes a bit to get it worked out but you can do it. It took me about 2 weeks to take 2 unruly little boys who were out of control for a whole bunch of reasons (traumatic life situation that needed changing before anything could seriously be done) and bring them around to well behaved boys who are a delight to be around. Then it took several months of hard-core practice on my part to be consistent with my own behavior and theirs and to not let them get away with the yucky behavior (which can be hard to do when we are tired and stressed). This was about 4 yrs ago I started this...now they are well behaved, not rude or sassy (and believe me they were before with a vengeance!) and do as they're told - usually when they are told. They have their spunk and energy - but know when it is appropriate and when it is not and it only takes a look from me now to remind them which is which. :)
My 13 yr old is beginning to test the 'authority' here at home, so I am giving him some leeway to test while still letting him know that mom makes the final decision - every now and again he gets what he wants - but not always! He is learning how to negotiate with respect and common courtesy rather than copping an attitude and having a fit about whatever it is that he wants to do when I am telling him to do something else.
Good luck to you! But seriously - get the book - 1,2,3 Magic. Saved my family...