Você está procurando por "Eager Load Constraints":http://laravel.com/docs/eloquent #querying-relations
<?php
$products2 = Product::with(array('metal', 'metal.fixes', 'metal.fixes.currency' => function($query){
$query->where('currency_id', '=', 1);
}))
->where('metal_id', '=', 1)
->get()->toArray();