There is no official control that does that for you. In my applications I do the following for covering this scenario:
1 - Add search button to application bar
2 - When button is clicked, navigate to a new page (eg. SearchPage.xaml):
NavigationService.Navigate(new Uri("/SearchPage.xaml", UriKind.Relative));
3 - Set focus to the search box in the Loaded event on that page to open the keyboard (doing it in OnNavigatedTo for example will not work):
mySearchTextbox.Focus();
4 - Use the Silverlight Toolkit for Windows Phone to add transitions from/to the page. I use the following animations, which creates a very similair animation style to the built in search pages:
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Forward>
<toolkit:SlideTransition Mode="SlideUpFadeIn" />
</toolkit:NavigationInTransition.Forward>
<toolkit:NavigationInTransition.Backward>
<toolkit:SlideTransition Mode="SlideUpFadeIn" />
</toolkit:NavigationInTransition.Backward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:SlideTransition Mode="SlideDownFadeOut" />
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:SlideTransition Mode="SlideDownFadeOut" />
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>