Looking to use bluprints as a base class with overiden funtions without spawning it.

You can get the CDO for any Blueprint using:

BlueprintAsset->GeneratedClass->GetDefaultObject()

CDO is also created for libraries. Blueprints call functions in it.

Yes, C++ has static functions that can be called without creating an instance using:

ClassName::FunctionName()

But they have some limitations.