C.M.
She is old enough to know about consequences. I'm sure that if you let her know that if she doesn't share, she can't have friends over (and then following through)she will get it. It's something that they do in school. I also feel like the kids need to work it out on their own. Even if it's at a disadvantage to your child (i.e. having no friends to play with). Does she share with your 3 year old? That is usually a good indication that the child "gets it" and is making a choice to not share.
Is this the same child that before didn't want to have play dates? Maybe she just doesn't *want* a lot of friends/playdate/togetherness time. I was a loner as a child. It's not the worst thing in the world.