Hola,
Efectivamente, los "TRichEdit" cuentan con sendas propieades "SelLength" y "SelText". La primera es de tipo "integer" y puede indicar si hay texto seleccionado en el "RichEdit", pero texto no significa línea, sino que puede seleccionarse una letra, varias, una palabra, una línea o varias de ellas.
Lo que obtendrás con "SelText" es justamente el texto seleccionado y, sí, es una propiedad de tipo "string", como puedes ver en el siguiente código (y en el de más arriba), puesto que "ShowMessage" requiere una variable de tipo "string", precisamente:
Código Delphi
[-]
if(RichEdit1.SelLength > 0) then
ShowMessage(RichEdit1.SelText);
Lo que arriba puede leerse vendría a decir "si hay texto seleccionado en el "TRichEdit", por favor, muéstramelo".
Estoy pensando si no te fuera mejor utilizar un componente como "TListBox", puesto que ahí sí se podría hablar propiamente de seleccionar "Items", a modo de "líneas". Pero, claro, no sé yo si este control se adaptaría a lo que precisas. ¿A ti qué te parece?