How are you coming to the conclusion that the texture is available on only GPU1 ? .Crossfire is not that different that SLI and the resource needs to be available on either device in order to be used. AFAIK one does not manually manage resource at the level you are thinking, thats work for the driver to do. Since you are not addressing individual GPU when you are writing the code to utilize Crossfire, the behavior should be seamless to the application.
"It works fine, but not on CrossFire(AFR Friendly), because texture appears inside GPU1 memory(I think) and the application needs it inside GPU2 memory"
What exactly does that mean ?