Может ли при непредвиденной нагрузке на API упасть база данных?
В таком виде как вы это понимаете - нет. SQLite — это встраиваемая библиотека. Она не является отдельным процессом/сервером, она работает в том же процессе и в том же потоке, что и ваш код. При перегрузке сервера БД упрется в блокировку файловой системы, т. к. sqlite не умеет обрабатывать параллельную запись (только параллельное чтение), в результате чего FastAPI получит ошибку database is locked и вернет пользователю 500-ю ошибку.
Также одним из аргументов необходимости перехода является отсутствие встроенного шифрования базы данных в SQLite
Есть неплохой форк SQLite - называется SQLCipher, поддерживающий 256-битное AES. Его можно без проблем использовать в SQlAlchemy.
Также, если потребуется переход, какую реляционную базу данных выбрать?
это наш первый сколько-нибудь сложный проект, который мы пытаемся создать
Я бы пока не переходил никуда. Пока проект небольшой, некоммерческий и т. д. и т. п., нет смысла усложнять себе жизнь.