either user html input type for your text field set to date, and use what the browser gives you, build your own (might be out of your league a.t.m.), or find a widget library that has what you need.
no pre-existing component, but easily built, keywords; interaction styles, selection group
same as 2, keywords: interaction styles, selection group, dynamic panel.
depends what exact behaviour you want, but start by having a look at the ‘more options’ on the ‘show’ interaction, allows for fly-out / lightbox etc.