Hola, puedes hacer un botón fijo con el siguiente código
Código:
#fixed {
left: 0;
top: 45%;
position: fixed;
}
La clave es la propiedad "fixed", que mantendrá el botón fijo en su lugar, aunque hagas scroll
La ventana centrada la puedes crear de manera similar, con position fixed y centrándola jugando con los valores left, top, height y width.
La manera de "oscurecer" la pantalla es usando una capa que ocupe toda la pantalla (left y top 0, height y width 100%) que tenga como fondo una imagen png negra con una cierta transparencia. Con la variable z-index, pones esta imagen sobre el contenido y la "ventana emergente" sobre la imagen.
Más o menos esa es la idea general.