1) Правильно, записи будут происходить с хвостом. Да, удаленные места могут быть потрачены впустую, если ядро базы данных не может легко их повторно использовать. Неиспользуемые места будут удалены при сжатии базы данных с помощью команды VACUUM .
2) Да, такая таблица SQL является таблицей кучи. Но индексы (любого рода) точно созданы для доступа к данным, как если бы записи были отсортированы. Индексы - это отсортированные значения, связанные с записями. Но новые записи не обязательно размещаются там, где впервые найдено свободное место. Они размещаются там, где ядро базы данных заполнено, чтобы разместить их с учетом неиспользуемого пространства и времени для записи двоичных данных (происходить в очереди быстрее, чем вставлять в середину).