Preheat oven to 350 degrees F. From lemon, grate 1/4 teaspoon peel and squeeze 2 teaspoons juice; set aside separately.
In a 2-quart saucepan, combine 1 cup cranberries, 1/4 cup sugar, grated lemon peel, and cinnamon. Cook on medium-low for 10 minutes or until some cranberries have burst, stirring frequently. Cool completely. Stir in remaining cup of cranberries. (Can be prepared up to 3 days ahead; cover and refrigerate.)
Meanwhile, grease 12-cup Bundt pan; dust lightly with flour. In large bowl, whisk together flour, baking powder, baking soda, and salt.
With mixer on medium-high speed, beat butter and cream cheese until fluffy and smooth. With mixer running, add 2 cups sugar, 1/2 cup at a time. Beat 1 minute longer. Add eggs, 1 at a time, beating in between additions, scraping bowl occasionally. Beat in 1 tablespoon vanilla and 1 teaspoon almond extract. Reduce mixer speed to low. Add flour mixture. Beat until just combined.
Spoon three-quarters of batter into prepared pan. Spread cooled cranberry mixture in even layer over batter. Top with remaining batter. Bake 55 minutes to 1 hour 10 minutes or until toothpick inserted in center comes out clean. Cool in pan on wire rack for 10 minutes. Invert onto rack; remove pan. Cool completely. Cake can be wrapped tightly in plastic wrap and kept at room temperature up to 1 day.
To serve, in medium bowl, whisk together confectioners' sugar, reserved lemon juice, water, and remaining 1/4 teaspoon vanilla and 1/4 teaspoon almond extract until smooth; drizzle over cake. Garnish with almonds, if desired.