Line a large cookie sheet with parchment paper or a silpat mat and set aside.
To make the cookies, beat the butter on medium high speed in a stand mixer fitted with the paddle attachment or a large bowl with a hand mixer for 3 full minutes. Scrape down the sides of the bowl then add the flour, cornstarch, confectioners' sugar, vanilla, salt and almond extract. Mix on low speed until incorporated, about 2 to 3 minutes. Dough will be soft and slightly sticky.
Using a small 1 inch cookie scoop, form tablespoon mounds, making about 18 cookies (9 sandwiches).
Place mounds on prepared baking sheet 2 inches apart. Cover with plastic wrap and refrigerate for at least 3 hours, or up to 4 days, before baking. You can also free dough for up to 3 months at this time. You must refrigerate the dough, do not skip this step or cookies will spread too much.
Once cookies are chilled, preheat oven to 350°F and bake for 8-9 minutes, or until edges have set and tops are just barely set. Cookies will firm up and set as they cool. Be careful not to overbake.
Allow cookies to cool on the baking sheet for about 10-15 minutes before transferring to a wire rack to finish cooling completely.
While cooling, make the cream cheese frosting. In a large bowl with an electric mixer, beat together the butter and cream cheese until smooth, about 1 minute. Add the vanilla, salt and powdered sugar and beat on medium speed until smooth and combined, at least 3 minutes. Separate frosting into 2 equal parts and mix one with red food coloring and one with green food coloring until desired hue.
When cookies are completely cooled, pipe green or red food coloring on the bottom of one cookie and sandiwch together with another cookie to make a mini sandwich. Repeat, alternating red and green frosting, until complete.