Generally (in my experience) a single complex query taskes less time then several simpler
queries.
In your case, have you considered performing an outer join on the quote table? For example:
select title, description, price_can, price_us
from inv, outer quotes
where inv.item_id = @id
and quotes.user = @user
and quotes.item_id = inv.item_id
The above query would return a title, description pair if there was a matching item_id in the inv
table. If the user had requested a quote on that item then the result set row would include
the Canadian and US$ prices. If there is no matching row in the quote table then the third
and fourth columsn of the result row would contain nulls (which you could test for).