One approach would be to define two symbols in xaml and assign them to the points as you iterate through them:<!--Available-->
<esri:MarkerSymbol x:Name="Available" x:Key="esriDefaultMarker_170" OffsetX="6.5" OffsetY="6.5">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Grid RenderTransformOrigin="0.5,0.5" Width="13" Height="13">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup>
</Grid.RenderTransform>
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top">
<Canvas.Clip>
<EllipseGeometry RadiusX="6.5" RadiusY="6.5" Center="6.5,6.5" />
</Canvas.Clip>
<Ellipse Fill="#00FFFFFF" Stroke="Black" StrokeThickness="1" Width="13" Height="13" Canvas.Left="0" Canvas.Top="0" />
<Line Stroke="Green" StrokeThickness="2.5" X1="0" Y1="0" X2="13" Y2="13" />
<Line Stroke="Green" StrokeThickness="2.5" X1="0" Y1="13" X2="13" Y2="0" />
</Canvas>
</Grid>
</ControlTemplate>
</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol>
<!--Not Available-->
<esri:MarkerSymbol x:Name="NotAvailable" x:Key="esriDefaultMarker_171" OffsetX="6.5" OffsetY="6.5">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Grid RenderTransformOrigin="0.5,0.5" Width="13" Height="13">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup>
</Grid.RenderTransform>
<Canvas HorizontalAlignment="Left" VerticalAlignment="Top">
<Canvas.Clip>
<EllipseGeometry RadiusX="6.5" RadiusY="6.5" Center="6.5,6.5" />
</Canvas.Clip>
<Ellipse Fill="Yellow" Stroke="Black" StrokeThickness="1" Width="13" Height="13" Canvas.Left="0" Canvas.Top="0" />
<Line Stroke="Green" StrokeThickness="2.5" X1="0" Y1="0" X2="13" Y2="13" />
<Line Stroke="Green" StrokeThickness="2.5" X1="0" Y1="13" X2="13" Y2="0" />
</Canvas>
</Grid>
</ControlTemplate>
</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol>
Then when you iterate and determine if it's available or not, set the Symbol:YourObject.Symbol = Available;
Hope that helps,Scott