I work in a specialist nursing home for people with advanced dementia.
I would advise that if you buy a nice blanket or teddy (both good ideas), then you name it well. I would steer clear of toiletries/smellies as a Christmas gift as these will inevitably be shared about. The conversation goes something like "oh, Bob hasn't got any shower gel/bubble bath" "Ray's got some, I'll just borrow a little bit." No malice in it, no intentional theft - but still incredibly likely that other residents will be using his Christmas present.
If your gran is still able to recognise faces of loved ones, then photos in nice frames or a photo calendar (as a PP suggested) would be lovely ideas. As these are very personal to your gran, there would be no chance of them going walkies.
If she is at a more end of life stage (so won't really know what you have given her), then I would recommend things to make her life more comfortable. These could include new nighties or pyjamas in a nice soft, stretchy fabric, one size bigger than she usually wears. It can be very hard for Carers to change clothing for some residents with advanced dementia and having things with a little stretch in them, and a little more room, makes the whole process more comfortable for the resident. Also a nice soft blanket (well labelled) or even some nice pillows (also labelled with permanent marker). Some residents also enjoy having a radio in their rooms, so that could be an option if she doesn't already have one.