I did some further digging for some alternate methods using REST API. According to the REST API Javadocs it should be possible to pull the SSO ID like this:
http://community.lithium.com/community-name/restapi/vc/users/id/8/profiles/name/sso_id
Yet I only get a 303 (Can't find this error code documented anywhere. The closest I got was "See other", but the output of the User object did not really help) REST API error that way:
<response status="error">
<error code="303">
<message>
User [id=-1, loginRef=, emailRef=, registrationTime=0, deletedRef=false, rankingId=-1, lastVisitTime=1330618775254, isLegacy=false, isPartiallyRegistered=false, registrationCompletedTime=0, isAnonymous=true, roleInfoRef=UserRoleInfo[roles=[]], ranking=Ranking [rankId=-1, sortOrder=100, rankName=N/A, rankBold=false, rankColor=, rankIcon=, rankIconRight=, rankIconThread=, grantRoles=, removeRoles=, kudosWeight=-1, registrationAge=0, metricPosts=0, metricPageViews=0, metricLogins=0, metricMinutesOnline=0, metricTags=0, averageMessageRating=0, equalsUserId=-1, equalsRole=, equalsRoleKey=null, rankingFormula=, rankingFormulaEnabled=false, coreNode=CoreNode(class lithium.boards.core.Community)[SQLCoreNodeinfo: owner=-1 metricsId=2 hidden=false hiddenAncestor=false deleted=false nodeId=1 parentNodeId=-1 type=Community displayId='skypec' path=NodePath:/, depth:1], rankTextMsg=LocalizedMessageDescriptor[messageLocator=FallbackSequenceMessageLocator[textKeyIterable=[TextKey[rank.-1.title]]],messageArgs={}]]] cannot get field 'profile.null' on object User [id=8, loginRef=Claudius, emailRef=claudius@anonymous.net, registrationTime=1308763959637, deletedRef=false, rankingId=2, lastVisitTime=1330618488158, isLegacy=true, isPartiallyRegistered=false, registrationCompletedTime=0, isAnonymous=false, roleInfoRef=UserRoleInfo[roles=[RoleKey[nodeId=1,roleIdentifier=RoleIdentifier[Administrator]), RoleKey[nodeId=284,roleIdentifier=RoleIdentifier[BlogAuthor]), RoleKey[nodeId=284,roleIdentifier=RoleIdentifier[BlogModerator])]], ranking=Ranking [rankId=2, sortOrder=1, rankName=Community Manager, rankBold=true, rankColor=FF0000, rankIcon=/html/rank_icons/icon_role_skype_small.gif, rankIconRight=/html/rank_icons/icon_role_new_admin.gif, rankIconThread=, grantRoles=, removeRoles=, kudosWeight=-1, registrationAge=0, metricPosts=0, metricPageViews=0, metricLogins=0, metricMinutesOnline=0, metricTags=0, averageMessageRating=0, equalsUserId=-1, equalsRole=Administrator, equalsRoleKey=RoleKey[nodeId=1,roleIdentifier=RoleIdentifier[Administrator]), rankingFormula=, rankingFormulaEnabled=false, coreNode=CoreNode(class lithium.boards.core.Community)[SQLCoreNodeinfo: owner=-1 metricsId=2 hidden=false hiddenAncestor=false deleted=false nodeId=1 parentNodeId=-1 type=Community displayId='my-community-name' path=NodePath:/, depth:1], rankTextMsg=LocalizedMessageDescriptor[messageLocator=FallbackSequenceMessageLocator[textKeyIterable=[TextKey[rank.2.title]]],messageArgs={}]]]
</message>
</error>
</response>
I am still open to take suggestions on both routes.