Если ты сумел написать добавление книги, удивительно что мешает тебе удалять ее. Напомню, динамические данные удаляются с помощью оператора delete. При этом не забудь связать предшествующий и последующий элементы списка.
Для сортировки даже есть готовая функция qsort(...), реализующая алгоритм быстрой сортировки, хотя я с ней не разбирался, может она и не подойдет, в любом случае лучше написать свое. Берешь шаблонную схему сортировки (например простейшую - вставкой) и подправляешь под свою задачу. Если ты не знаком с методом, в кратце - это то, что ты и сам интуитивно используешь для упорядочивания в повседневной жизни. Перебираешь по порядку все элементы списка, если элемент меньше предыдущего, сносишь его назад пока он не станет больше (подразумевается сотрировка по возрастанию, элементы сравниваются по полю сортировки). Короче это вам должны были б и вычитать, не могут же требовать от вас все самим выдумывать