Its quite easy to place them on the clash/intersect points, using Family Instance by Point, but they wont be inserted into the duct and connected at both ends.
That step will be much more difficult to do, split the duct removing the correct length, place the fire damper with connectors at precisely the same points as the duct ends, make the connectors join each other… I dont know exactly how you would do that.
In the API help there is the possibility to create a duct between 2 connectors (Document.NewDuct(Connector, Connector, DuctType)), so maybe something like;
Get existing duct that passes through wall
Get the 2 objects(and the 2 connectors) the duct is connected to
Delete the existing duct
Place the fire damper
Get the connectors of the fire damper
Create new ducts from the fire damper connectors to the existing connectors