A* is easy to implement using a tilemap.
tilemap->setWeight( 10, 10, 1.0f );//set the weight of the tile at (10,10)
std::vector path = tilemap->findPath( pointa, pointb );//pathfind
The requirements are that you will need to put a “weight” value on each node in the tilemap so that the A* algorithm knows where to avoid.
An option is to subclass the tilemap class in Cocos2d, adding a pathfind function and storing the weight of each node.