Совершенно непонятно формулируешь вопрос.
1. Кого считать соседями? Если пункт А находится в радиусе или на расстоянии R от пункта B, то они соседи.
2. Земля не плоская, твоя формула евклидовой дистанции при чем здесь? для расчета дистанций есть другие специальные формулы.
3.
Как мне в Python добавить таблицу, которая дублирует первую таблицу, добавляет данные из второй таблицы, учитывая формулу выше.
Реляционные операции они происходят на основе ключа или ключей. На основании чего ты тут собрался собирать. Ты можешь найти потенциально соседей для любой взятой точки. Возникает вопрос а зачем тогда вообще две таблицы их можно просто слить в одну. Возможно связь есть, а ты о ней не рассказал.
4. По итогу из того что есть задача видится как нахождения соседей для каждой точки датасета. Я бы брут форсем, такое не решал, а использовал бы базы с approximate nearest neighbor. Построить индексы O(n log(n)), запросы O(log(n) ), ну и вся задача для каждой точки датасета O(n log(n)).
5. Используй подходящие базы ну или хотя бы geopandas. В этих случаях все инструменты уже есть.