Saludos, tu pregunta me pareció muy interesante, indagando encontré unos comandos de GRASS interesantes que puedes acceder a través de QGis, no es exactamente como lo planteas ya que trabaja con los datos vectoriales de los cauces, pero puedes probar.
El comando es r.carve toma datos vectoriales de corrientes, los transforma en raster y sustrae la profundidad del MDT de salida
Te pide como entrada el vectorial, debe ser de línea de los cursos de agua, requiere ademas el ancho del curso de agua.
Un modelo digital de elevación sobre el que va a trabajar (puedes usar los que comentas SRTM, ASTERGDEM, ALOS PALSAR, etc)
Las dimensiones (caja limitante) del área que vas a trabajar
Otra opción interesante es r.lake.coords crea un lago a partir de un punto de coordenadas dado y un nivel dado
Espero te ayude igual voy a seguir indagando. Una nota final el muy conocido Global Mapper genera una mancha de inundación de acuerdo modificando niveles de agua de forma interactiva y muy fácil