Preheat oven to 350 degrees F and line two baking sheets with parchment paper.
In a large bowl, add butter and sugar. Beat until smooth. Mix in eggs one at a time followed by the vanilla and sour cream.
In another medium-sized bowl, sift together flour, baking powder, baking soda, salt, cinnamon, cloves, and all spice.
Slowly add dry mixture to the wet ingredients until just incorporated.
Fold in dates, walnuts, and chocolate (if using).
Scoop dough in about 2 tablespoon portions onto the prepared cookie sheets.
Bake sheets one at a time for 10-12 minutes.
Transfer cookies to a cooling rack to cool, then store in an airtight container.
