Si no he entendido mal, quieres un directorio por materia y dentro de ese directorio los diferentes memos (en contenido).
Por un lado hay varias funciones (como las que te han dicho) que te permiten trabajar con directorios y ficheros:
ForceDirectories para crear directorios.
FileExists para comprobar si un fichero existe.
Puede revisar en la ayuda o buscar en los foros para ver código de ejemplo.
Código Delphi
[-]
path := 'c:\MATERIAS';
ForceDirectories(path);
path := 'c:\MATERIAS\' + dbedit_nombre.Text;
ForceDirectories(path);
Para grabar los memos, puedes utilizar SaveToFile del propio memo.
Código Delphi
[-]
PathFile := path := 'c:\MATERIAS\' + dbedit_nombre.Text + '\' + mmContenido.Name + '.txt';