Preheat oven to 350°. Line 22 muffin cups with paper liners.
Cream butter and sugar until light and fluffy. Beat in vanilla and 1 egg at a time. In another bowl, whisk together flour, baking powder and salt; add to creamed mixture alternately with milk, beating well.
Fill prepared cups two-thirds full. Bake until a toothpick inserted in center comes out clean, 15-20 minutes. Cool in pans 10 minutes before removing to wire racks to cool completely.
For frosting, beat butter, shortening and vanilla until blended; gradually beat in confectioners' sugar and enough milk to reach spreading consistency. Spread over cupcakes.
To decorate, break off curved end of candy canes; reserve straight portion for elf legs. Cut strawberry or lime marshmallows diagonally in half and attach to legs for shoes; insert into frosting. Cut orange marshmallows diagonally in half for ears. Insert kisses and orange marshmallows for elf heads.