Make dough: In a food processor blend butter and cream cheese until smooth. Add flour and salt and pulse just until mixture forms a ball. Form dough into a log. Chill dough, wrapped well in plastic wrap, at least 4 hours and up to 1 day.
Make filling: Finely chop dates and walnuts and in a bowl with your hands toss together dates, walnuts, sugar, cinnamon, and vanilla until combined well.
Preheat oven to 350 degrees F.
Cut dough crosswise into 8 equal pieces and work with 1 piece at a time, keeping remaining pieces covered and chilled. On a work surface sprinkled with confectioners' sugar using a rolling pin dusted with confectioners' sugar, roll out piece of dough into an 8-inch round. Cut round into 8 wedges, keeping round intact.
Sprinkle 1/3 cup filling in a ring around outer portion of round, leaving a 1-inch border around edge, and press filling gently into dough. Working with 1 wedge at a time, fold outer edge of pastry over filling and roll up filling in pastry, jelly-roll fashion, folding sides under pastry to enclose filling. Transfer rugelach, as formed, pointed ends down, to ungreased baking sheets. Make more rugelach in same manner.
Bake rugelach in batches in upper and lower thirds of oven, switching position of sheets halfway through baking, until golden, 15 to 20 minutes total. Transfer rugelach to racks to cool completely. Rugelach keep in an airtight container at room temperature 3 days.