You should be able to use an ArcGISDynamicLayer, but you instantiate as a feature layer. Not sure what mode you would use...MODE_SNAPSHOT, MODE_ONDEMAND
//Create a feature layer for map
featureLayer = new esri.layers.FeatureLayer("http://yourserver/arcgis/rest/services/folder/servicename/MapServer/0", {
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields: ["STN_CASGEM_STATION_ID", "WLM_GROUND_SURFACE_ELEVATION"], //all would be ["*"]
});
http://help.arcgis.com/en/webapi/javascript/arcgis/jshelp/#inside_feature_layers
Feature layers can be created by referencing a layer from either a map
service or a feature service or by specifying a feature colleciton
object.
Use a map service if you just want to retrieve geometries and attributes from the server and symbolize them yourself. (In the final
release, the map service will be able to return its symbols.)
Use a feature service if you want to take advantage of symbols from the service's source map document. Also use a feature service if you
plan on doing editing with the feature layer. Feature layers honor
any feature templates configured in the source map document.
Feature collection objects are used to create a feature layer based on the supplied definition.