First, you'll want to make sure to check out the ArcFM license to deal with ArcFM objects:
Then as far as getting the current workspace goes, what does it show when you try to print arcpy.env.workspace without setting it yet? There is a such thing as the CurrentWorkspace but I'm not sure if that gets automatically set to the actual current workspace in ArcMap, or if that's just the workspace that's passed in to the GP tool. Normally the user has to choose the workspace as one of the inputs to a GP tool.
One of the ways I've seen it done is to save a separate .sde connection file in ArcCatalog with the session's version set as the version for the connection.
Then you just pass in that .sde file path to the workspace and it will be making its edits to that specific version instead of SDE.Default.
geodatabaseConnection = r'Database Connections\email@example.com'
arcpy.env.workspace = geodatabaseConnection
I don't know of a way for python code to be able to get at the currently open workspace. Not even ESRI's own arcpy.Editor class has any methods or properties to get at the currently open workspace: Editor—Help | ArcGIS for Desktop
I think it boils down to the fact that all GP tools can be run on their own so they need the workspace to always be passed in as an input parameter.
Feel free to correct me if I'm wrong!
It seems you can load up our ArcFM COM libraries in python.
So you just need to load up the MMEditor (mmGeodatabase.MMEditor) by finding the "Miner Object Editor" extension.
Here's what it looks like in C# but you can create instances of COM objects in Python too:
var extensionMan = Activator.CreateInstance(Type.GetTypeFromProgID("esriSystem.ExtensionManager")) as IExtensionManager;
var mmEditor = extensionMan.FindExtension("Miner Object Editor") as IMMEditor;
Then just look for the EditWorkspace property on the mmEditor object.
Note that this object editor extension and extension manager only works if ArcMap is running.