As far as making use of the "Sleep outfit", this is impossible as of yet. there is a script to SET the outfit, but not get, which is stupid. However, there is a very simple script I made to make your own setup. Just attach this script to any REFERENCEALIAS, and set your properties. In the "Outfits" property, slot 0 is for the normal outfir, slot 1 is for sleeping outfit.
Outfit[] Property Outfits Auto
{0: Normal outfit; 1: Sleep outfit;}
Bool Ptoperty DidSleepOutfit = False Auto Hidden
Event OnSit(ObjectReference akFurniture)
Utility.wait(1.0)
Actor Me = GetActorReference()
If (Me.GetSleepState() == 3)
Form L = Me.GetEquippedObject(0) ; Check Left Hand
Form R = Me.GetEquippedObject(1) ; Check Right Hand
Debugger("GetSleepState: "+Me.GetSleepState())
If L && (L as Weapon)
Me.UnequipItem(L as Weapon)
EndIf
If R && (R as Weapon)
Me.UnequipItem(R as Weapon)
EndIf
Me.SetOUtfit(Outfits[1])
DidSleepOutfit = True
EndIf
EndEvent
Event OnGetUp(ObjectReference akFurniture)
If (DidSleepOutfit)
DidSleepOutfit = False
Utility.wait(3.0)
GetActorReference().SetOUtfit(Outfits[0])
EndIf
EndEvent