My apologies. I needed take care of a number of other things before I could get back to this. In response to your suggested code, I cannot use it as I have more than one layer and tilematixset in GeoServer. I had deleted the information related to the other layers and projections from the GetCapabilities document to make it shorter/more readable.
I have poked around a bit in the manager files to see how the WMTS layer request is actually processed, and, unfortunately, that has only resulted in more questions. The first question is, why does this appear to be based solely on a GetCapabilities document if regular requests are based on a GetTiles request? Or is it just something in the SWC that I cannot get to? The second question is where is the request actually processed? I looked in ConfigManager.as and it provides the base formatting for all layer requests except WMTS.
I referred again to the WMTS sample provided on the Flex API site and noticed that it now works because it exclusively references ArcGIS Online services. Something I noticed while reviewing the sample is that the GetCapabilities request returned by ArcGIS Online is significantly different from the base GeoServer response as it includes ScaleDenominator and TopLeftCorner tags for each level of the TileMatrix, and labels the matrix levels differently than GeoServer. I will assume that the WMTS capabilities built into the 3.0 API are based on how ArcGIS Online formats its GetCapabilities request as it would make sense that ESRI APIs are based on ESRI products.
Is there documentation somewhere that we can use to edit our capabilites XSL stylesheet so that the document returned is formatted in a way that the ESRI Flex API can understand? I think that the different formats could be significant in determining whether or not the tiles end up being delivered to the viewer since the viewer can display the GeoServer WMS service the WMTS service is based on. Since both come from the same GeoServer installation and the main difference between accessing the two is a slight change to the URL a translation issue related to the returned GetCapabilities request does not seem too far fetched.