Which airline are you thinking of using? Your two basic choices from YVR are probably Air Canada (or code share partners, which will probably include a short layover at FRA or other hub airport) or KLM (which will most likely include a short layover in Amsterdam).
It's very easy just to book directly on the airline website using the "Multi-City" tab. I normally figure out which flights I want, and then book them with a Travel Agent. The T.A. is often to find slightly better pricing or easier connections. Using that method also provides coverage under the B.C. Travel Assurance Fund (which all T.A. in the Province belong to).
I just did a brief check on the Air Canada website for YVR-BCN and LIS-YVR flights, and their schedules show two flights in each direction with a total duration of about 14 hours each way. Some of their flight combinations are MUCH longer, so choose carefully!