There is an onscreen keyboard that can be shown with Guide.BeginShowKeyboardInputwhich is an asyncronous object and you need to wait till the isCompleted parameter returns true. On Windows and XBox you need to add the GamerServicesComponent to the list of components the game has.
The Xbox can have a chat pad keyboard attached to the controller.
2 modes for audio: Fire and Forget (just call play on the audio and that's it, it plays until it finishes) and using SoundEffectInstance which lets you pause, resume, and things like that.
There is a Miscrosft Cross-Platform Audio Creations Tool to manage all audio, add effects and so on.
You can read microfone data from xna.