да, вы можете:
from sqlalchemy import create_engine
from sqlalchemy.pool import StaticPool
eng = create_engine("mssql+pyodbc://", poolclass=StaticPool, creator=lambda: my_odbc_connection)
однако, если у вас действительно есть только одно уже созданное соединение, в отличие от вызываемого, которое их создает, вы должны использовать этот движок только в одном потоке, один одновременно. Это не является потокобезопасным для использования в многопоточном приложении.
Если OTOH вы действительно можете получить функцию Python, которая создает новые соединения при вызове, это гораздо больше appopriate:
from sqlalchemy import create_engine
eng = create_engine("mssql+pyodbc://", creator=my_odbc_connection_function)
вышеупомянутый движок нормально соединяет соединения и может использоваться свободно как источник подключения.