First thing comes to mind is that you should checkout the SpriteBatch.SetColor.
With it you can control the color and transparency of the overlay image you are planning to use, and if you relate the alpha value with time you willl be able to make things appear/disappear.
EDIT:
An important thing to keep in mind is remembering to set the spritebatch color back to white and opaque (or your prefered color) for things to draw as they did before:
//Drawing Normal Textures
spritebatch.begin();
spritebatch.draw(myNormalTexture, x, y, w, h);
spritebatch.end();
//Drawing Transparent Textures
spritebatch.setColor(1, 1, 1, transparencyLevel);
spritebatch.begin();
spritebatch.draw(myTransparentTexture, x, y, w, h);
spritebatch.end();
//Back to Drawing Normal Textures
spritebatch.setColor(1, 1, 1, 1);
spritebatch.begin();
spritebatch.draw(myOtherNormalTexture, x, y, w, h);
spritebatch.end();