If I were doing this, I would modify the Currency table to include [ExchangeStartDate] and [ExchangeEndDate] fields. Then I would use a range in the join clause of the query:
FROM Invoices inv
INNER JOIN Currency cur
ON inv.InvoiceDate BETWEEN cur.ExchangeStartDate AND cur.ExchangeEndDate
I'm sure there are several other approaches to this as well. This is really more of a T-SQL question.