Hola,
Habria que ver el caso particular, pero yendo a la pregunta general:
"Mandarle un atributo de una clase 1 como argumento a un mensaje que entiende una clase interna 2, se considera como violación de privacidad de la clase 1?"
La respuesta a eso es que no, eso no viola el encapsulamiento de la clase 1.
Yendo a un ejemplo concreto, ayer en clase llegamos a una clase "RangoHorizontal" que tenia dos atributos "desde hasta" (ubicacion inicial y final del rango).
Haciamos un calculo complicado en la clase, y dijimos que una forma mas orientada a objetos podria haber sido crear una entidad Ubicacion que modelara esas ubicaciones y luego pedirle a la ubicacion que nos den la lista de ubicaciones entre ellas.
Entonces, podriamos iterar asi desde RangoHorizontal:
[ desde ubicacionesHasta: hasta ] do: ....
En ese ejemplo "ubicacionesHasta" es un mensaje de "Ubicacion" (clase 2), que recibe como parametro el valor "hasta", atributo de instancia de RangoHorizontal (clase 1).
Eso no rompe el encapsulamiento de RangoHorizontal.
Saludos
Eugenio