Позволяет писать меньше буков при вызове метода, наверное автор предполагает, что эта пара символов уникальна.
Делается это, скорее всего, для экономии результирующего скрипта, чтобы он быстрее загружался, парсился, мало ли.
Не факт, что пара символов (0,5) так же была бы уникальна — надо проверять в конкретном случае
Допустим, что i == «longLongMethod»;
тогда
i[0] == 'l', i[4] == 'L'
i[0] + i[4] == «lL»
таким образом context[«lL»] = context[«longLongMethod»]
что в свою очередь означает, что context.lL(some, args) становится эквивалентным для context.longLongMethod(some, args)
Программа линкуется с определенной мажорной версией,(.62, .82) смена мажорной версии означает поломку ABI. Смена минорной/секминорной версии (.62.0.0 на, например, .62.1.0) долго добавляет новые символы в ABI, поэтому проходит для программ прозрачно и не требует пересборки.
Если нужных вам ресурсов нет в *.deb файле и как следовательно они не ставятся в систему, то никак.
В GNU/Linux не принято таскать ресурсы внутри бинарника, они ставятся в файловую систему, но если же приложение по каким-то причинам хочет их тащить за собой, то тогда они вкомпиливаются в программу на уровне исходного кода и тогда без дезассмеблера уже не обойтись :)