I tried to compose awk command with date comparison. Try one of these - based on your date(1):
* BSD date
awk -F'~' '$5 <= '$(date -v-3y +%Y%m%d)'{print $2,$3}' file
* GNU (Linux) date
awk -F'~' '$5 <= '$(date -d '3 years ago' +%Y%m%d)'{print $2,$3}' file