I would like to know how to bind parameters to values within an expression tree
Something like
Expression
         
Expression> e1 = (x,y) => x == y;
var swap = new ExpressionSubstitute(e1.Parameters[1],
    Expression.Constant("Fixed Value Here"));
var lambda = Expression.Lambda>(
    swap.Visit(e1.Body), e1.Parameters[0]);
  with
class ExpressionSubstitute : ExpressionVisitor
{
    public readonly Expression from, to;
    public ExpressionSubstitute(Expression from, Expression to)
    {
        this.from = from;
        this.to = to;
    }
    public override Expression Visit(Expression node)
    {
        if (node == from) return to;
        return base.Visit(node);
    }
}
this uses ExpressionVisitor to rebuild the expression, substituting y with the constant.
Another approach is to use Expression.Invoke, but this doesn't work in all cases.