ratpoison provides functionality to group windows together. This coupled with saving and restoring frames configurations is what most people would call virtual desktops or workspaces.
While ratpoison doesn't explicitly provide support for such things, it does allow you to write scripts to this end. Such a script exists in contrib/ called rpws. Consult that file for details on setting up workspaces inside ratpoison.
Groups are more general purpose than workspaces. windows from one group can be visible along with windows from another group. If you switch to a different group nothing changes except the list of windows you can cycle through. ratpoison allows the user to move a window from one group to another, merge two groups, create new groups, and delete existing ones.
The following is a list of of commands used for manipulating groups.
Create a new group with the name name. name is optional. The new group becomes the current group.
Set a group's number to GROUP. If another group occupies the requested number already, then the groups' numbers are swapped.
The second argument, target, is optional. It should be the number of the group whose number will be changed. If target is omitted ratpoison defaults to the current group.
Select a particular group by name or number. If group is not provided, ratpoison will interactively prompt for the group.
Merge group with the current group. All windows in group will be moved to the current group. group is not deleted.