В значении 'пройти какой-либо курс обучения, завершить обучение где-либо' употребляется глагол окончить, а не закончить. Правильно: окончил школу, окончил пятый класс.
Да, это тоже согласование: зависимое слово уподобляется в выражении грамматических значений главному слову, т. е. принимает форму того же числа и падежа (пятого класса, о пятом классе, пятых классов). Заметим, что в научной грамматике (в отличие от школьной) нет понятия 'порядковые числительные'; такие слова, как первый, второй, пятый, сотый, согласно научной грамматике – счетно-порядковые прилагательные.
Алгоритм прост. Нужно взять толковый словарь; если в словаре соответствующие значения относятся к разным словарным статьям, то данные слова - омонимы. Если значения объединены в одной словарной статье, то это многозначное слово. Вперед, за словарь!
Корректно: окончили.
В составных порядковых числительных склоняется только последнее слово: отмечать пятьсот пятьдесят пятый день рождения, готовиться к пятьсот пятьдесят пятому дню рождения.
Лучше так: программа 5-го и 6-го классов.
Без литеры чаще пишут словами; с литерой, на наш взгляд, лучше писать цифрой.
Верен первый вариант.