a partir del builder 5 puedes usar esta propiedad del memoCaretPos
********
Indicates the position of the caret in the client area of the memo.
__property TPoint CaretPos = {read=GetCaretPos, write=SetCaretPos};
y para todas las versiones esta otra
SelStart
Specifies the position of the first selected character in the text.
__property int SelStart = {read=GetSelStart, write=SetSelStart, nodefault};
con caretpos puedes poner las coordenadas como filas y columnas es decir, x e y, con dos valores.
Con selstart tienes que decir un número, trata al memo como si fuera una cadena de caracteres en una sola fila, asi ke tienes que poner su posicion dentro de esa supuesta fila.
Espero que sea lo que buskes