Victor, você pode tentar o seguinte:
No faces-config.xml
<managed-bean>
<managed-bean-name>Y</managed-bean-name>
<managed-bean-class>com.teste.web.Y</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>X</property-name>
<value>#{X}</value>
</managed-property>
</managed-bean>
Assim você está declarando o bean Y e dizendo que ele usará informações do bean X. Em seguida, em Y:
public class Y {
private X beanX;
Você cria uma variável do tipo X. Se o X tiver scope session, ele terá as informações que você deu set em sua página.
Agora é só dar set nos dados de X na página e chamar o método de Y no action.
Em Y pode haver, por exemplo:
public int getSoma(){
int soma = 0;
soma = beanX.getValorUm() + beanX.getValorDois();
return soma;
}
Espero que seja essa a sua dúvida, qualquer coisa só perguntar.
Lucas.