Hi,
In plugin you wouldn't get 'Text' property of OptionSetValue object. there is no such property. You have to deal with 'Value'.
OptionSetValue optionState = currEntity .Attributes["statecode"] as OptionSetValue;
statusValue = optionState.Value;
For lookup use EntityReference type.
EntityReference lookupAttribute = (EntityReference)currEnitty.Attributes["lookupAttriburename"];
Guid id = lookupAttribute.Id;
string name = lookupAttribute.Name;
string entityName = lookupAttribute.LogicalName;
Thanks
Kuldeep