Is there a way to look this up?
Not really. Past usernames aren't recorded on (the publicly visible parts of) a user's account. You might possibly be able to get some of this info using Data.SE, or by trawling through old comments addressed to the user and hoping to get lucky - but it would be frowned upon (see below).
Is there a list?
No. And this is by design - again, see below.
Should there be a canonical list, perhaps a Community answer to this question?
Please no. There are a number of reasons why people's usernames might have changed, some of which you should really respect and not try to associate them with their old names:
Desire for anonymity. Some people used their real names on SE at first, before switching to something more less personally identifying. The internet is full of bad people; I know of a few SE users who've been harassed offsite for things they've done here. If they want to make it less easy for internet trolls to find them IRL, we shouldn't hinder that.
Fear of stalking. Some users have creepy enemies who follow their activity on the internet, even on places like Stack Exchange. They might change their username in an attempt to avoid such attention. By making a community-maintained list of everyone's past usernames, you'd be making stalkers' jobs easier.
Account deletion. One of the examples you mention in the OP is a user who deleted their account and is now associated just with an ID number rather than a name. Reasons for account deletion are many and varied, but they might include stalkers (see above) or simply not wanting their name associated with the site any more. Once again, it'd be rude to keep recording their name in a place where they don't want it recorded.
Sure, some people might change their usernames just for sh*ts and giggles, and wouldn't care if you kept track of their name changes. But please don't make a publicly curated list of username changes - it could cause a lot of unnecessary grief and worry.
I'll also quote Community Manager Shog9 here, as he's been involved in a conversation about something similar with regard to SFF before:
just beware that some folks might see this [associating usernames with deleted users] as... Rude. IOW, if you're gonna make more work for the mod team by motivating departed people to come back and beg for the deletion of any comment that mentions them, you should wait until there are more mods.