Неправильное написание названия города, безусловно, является орфографической ошибкой. Собственные имена - в том числе названия городов - в основном являются словарными словами. Так что применять нужно не правило, а словарь.
При употреблении "так" в роли вводного слова его нужно выделить запятыми с двух сторон: нигерийцы, так, ожили... (такое употребление возможно в разговорной речи).
Подобное построение диалога не описано в справочных пособиях, но приведенный Вами вариант не нарушает правил пунктуации. Правда, обилие тире (ведь и в самой прямой речи тоже есть тире, поставленное на других основаниях) может несколько затруднить восприятие текста. Может, объединить слова автора и тем самым сократить число тире? Например, так:
— Постарайся его приручить! — смеётся бабушка, поглаживая рояль. Она показывает на клавиатуру: — Чёрно-белые зубы, которые он оскаливает, — это приветливая улыбка.
Дефис ставится в обоих случаях.
Дефис (орфографический знак, соединяющий части слова) здесь ставиться не может, а тире (пунктуационный знак, соединяющий разные слова) возможно (при логическом подчеркивании).
Да, написание через дефис правильно.