間違いです。
• 現在完了形(has lived) は「過去のある時点から現在までの経験・継続・完了」を表しますが、“when he was young” は「完全に過去の時点(若い頃)」を示しており、 現在とは関係ないです。
• したがって、「現在完了形」と「過去の具体的な時点」の併用は不自然です。
正しい文の例
1. My father lived in Canada for two years when he was young.
→ 自然で正確な表現です。
2. When he was young, my father lived in Canada for two years.
→ 語順を変えただけで意味は同じです。こちらも正しいです。