London to Bangkok is apparently 5,930 miles / 9,544 km. London to Vancouver is 4,726 miles / 7,606 km, and Vancouver to Bangkok is 7,346 miles / 11,823 km. So, by going via Canada you're adding an extra 6142 miles, i.e you're basically doubling your flight distance!
As a general rule, you can add a stopover into a journey without much affecting the cost at a point where the airline you're flying has a key hub point. (Sometimes it'll actually make it slightly cheaper, depends on exact airlines and loadings). This is because if that airline wants your business, they need to fly you through their hub, and offering you a free stopover is a way to tempt you onto a less convenient flight.
So, you'll often find that a direct flight from Paris to a key NA city on Air France will be a similar price to a BA flight via London, and BA will give you a free stopover. Equally, a London to key NA city direct on BA will be a similar price to KLM/Delta via Amsterdam, even though you start off flying the wrong way!
However, you want to double your distance travelled, so you may well struggle to find an airline that'll find it worth competing with the direct market. If you're going to find one, it will be someone who has a key hub (ideally their home hub) at the point you want to stop at, i.e. Vancouver. If anyone'll do that, I'd guess at Air Canada, but I wouldn't hold my breath...
Another thing you could always look at is finding near-ish by airports, and try to get someone to let you stopover there, then fly the little missing bit. So, you could also look at someone who hubs through somewhere in the western USA, and see what they'd do.