You can create a literal with any datatype you wish:
from rdfalchemy import Literal, Namespace
a = Literal('thing_1',datatype=OV.thing)
a can now be the right hand side of an assignment to a rdfSingle descriptor and all should work fine
Cory: in the case of xsd:date or xsd:datetime, you can already assign a date or datetime instance (from the datetime module) and
rdfalchemy will place the correct xsd:dateTime or xsd:date datatype on it in the triplestore.
You can look at my page on CustomizingLiterals [1] for a bit more info. Look at what was done to allow the correct handling of the Decimal class type.
That and the source for Literal [2] should help you to see that a couple of lines will get "automatic" assignment of datatype to work.
Your two other options are to handle it inside a custom descriptor (more code more power less resuability) or just create a Literal by hand (as stated above)
--
Phil