If a kanji has multiple onyomi, which one do you use? Is there a rule governing this or can you use any one at any time?
There is no general rule. It depends on the compound in which the kanji appears. Sometimes even compounds have two readings.
Japanese people themselves (literate ones, that is) sometimes don't know how to read a personal name or place name.
You cannot pick just any onyomi. For instance 上 in 上手 (jouzu) must be じょう, and in 上海 (Shanhai: the Chinese city Shangai) it must be しゃん. "Shanzu" or "jouhai" doesn't make sense.
You have to recognize the compound as a word.
Occasionally (I'm not sure how common it is) there are kanji for which the different on-readings relate to different sets of meanings.
An example is 日; in a Japanese kanji dictionary it is shown that the reading ニチ can be used for compounds in which 日 means Japan/Japanese (e.g. 日系、来日). The reading ジツ isn't used for those compounds.