Without a car, it might be difficult to see the other villages - there is of course buses and bus routes but determine which towns you are thinking of first and see how well those towns are served by bus.
Most every town has its own presepe at Christmastime, it is just a matter of how elaborate. Assisi has a very lovely and large one on the grounds in front of the Basilica. Gubbio has the largest "Christmas Tree" on record where they light up the side of Mount Ingino in the shape of a tree.
Greccio has an annual live nativity and another good one to see is in Marcellano.
Two good Christmas markets to see are "Natale in Perugia", in Perugia's Rocca Paolina, and Spoleto's "Mercatini di Natale" in Palazzo Leti Sansi. And if you can get to Florence - they have a large one near Santa Croce.
Most restaurants will be open - though will have their typical one day of the week that they are closed. Some may be closed to celebrate the holidays with their families, but it should not be too big of an issue to find many restaurants open. Reservations however are a good idea for any restaurant on Christmas Eve. And check with your hotel for Christmas day perhaps.