Just about every possible variation appears somewhere in the city. Some stops have the number (as "Stop xxxx" or "xxxx"), some have route number with various delimiters, some have description (prob from G Earth, but matching what Calgary Transit uses). I agree that the four-digit number is most appropriate, either alone or as "Stop xxxx" (Never as #xxxx or Stop #xxxx - most people can tell the characters are numerals!).
I have software that will parse the CT data in the City open data and convert stops to KML (Keyhole Markup Language as used by G Earth) Placemarks - takes a few seconds to do the entire city. At this point, converting to GPX, usable in OSM editor, is a semi-manual process, but I could fairly easily modify the program to do the whole lot as GPX or something that should be directly importable. There is a problem with fully automating in that the original data has multiple sets (most are subsets) of stops for each route & it's hard to determine which is the normal full set, though my code tries hard to find eliminate sets that are fully subsets. Since some stops already are in place, any method will require some (ha! a LOT of) manual work for cleanup.