The ViewData object is a dictionary.
Just load your objects into ViewData before calling Spark:
var engine = new SparkViewEngine();
var descriptor = new SparkViewDescriptor()
.AddTemplate( templateFileName );
ISparkEngineView view = engine.CreateInstance( descriptor ) as ISparkEngineView;
view.ViewData["name"] = "foo";
view.ViewData["date"] = DateTime.Now;
view.RenderView( writer );
then in the template use ViewData like you normally would:
${ViewData["name"]}
<if condition='ViewData["date"]...'></if>