El límite teórico de un TidEmailAddressList debiera ser bastante alto. Cuando menos 64Kb, aunque no tengo a mano Delphi para revisar los fuentes. Probablemente el límite sea la memoria disponible en la pc.; pero seguramente tu servidor de correo impondrá un límite mucho mas pequeño, que variará de acuerdo a las capacidades y configuración del servidor.
Para cargarlo en un archivo de texto, tus direcciones alli deben cumplir con el estándar RFC-822. Es decir, estar en el formato
nombre@server.com
o bien
<Nombre amigable>
nombre@server.com
Si es asi, podes asignar de golpe las direcciones desde un TStringList, que bien puede venir de un archivo de texto.
StringList1.LoadFromFile('direcciones.txt');
message.bccList.EMailAddresses := StringList1.commatext;
Hasta luego.