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.