Прямого поезда нет, но через Махачкалу каждый день примерно в 20:30 проходит автобус Касумкент - Сочи, в Сочи он приходит через сутки с небольшим в 23:40. По вопросу стоимости билета на этот автобус лучше обратиться по телефону в Махачкале +7 (8722) 66-19-41.
Если же всё-таки хотите ехать поездом, то есть много вариантов, советую поехать через Ростов. До Ростова поездом №135 Махачкала - Санкт-Петербург, отправление из Махачкалы в 19:37 по чётным числам, прибытие в Ростов на следующие сутки в 18:44 (плацкарт 1065, купе от 1850 до 2300 рублей) . Из Ростова до Сочи поездом №642 Ростов - Адлер, отправление из Ростова в 22:35, прибытие в Сочи в 9:16 на следующие сутки (плацкарт 1155, купе примерно 1680 - 2050, купе с питанием 2600, СВ 3120, СВ с питанием 5500 рублей) . Итого от 2220 до 7800 рублей.