Pues no, de hecho es correcto su uso de IntToStr, ya que la cadena resultante sería:
Código Delphi
[-]
DSBTabla.Filter := 'length(CUENTA) <= ' + '3';
o sea
Código Delphi
[-]
DSBTabla.Filter := 'length(CUENTA) <= 3';
En caso de que no se pueda usar una función en la expresión del Filter siempre queda la posibilidad de usar el evento OnFilterRecord del dataset en el que puede ponerse casi cualquier condición de filtrado.
// Saludos