Is using taxonomies the way to go here or would custom post types be better?

I believe you can do it that way.

My thoughts: Have same post names for both the list and actual posts. Store in the user profile the list of slugs/titles of their interest, and then on real post publish, cross check which user has that post title/slug stored in their interest and notify them about it.