Try booking from Johannesburg to Portland, and buying the Zambia-JNB flight separately. I went to Kayak.com and randomly plugged in dates in July and September for JNB-Portland and there was availability for under $1100, even with Virgin Atlantic and American Airlines (partly British).
Then LUN-JNB is another $350 or so, but that's still a lot cheaper than $2K.