Hi Mathieu,
you can try
dtEntity::GetSystemInterface()->GetIntersections(const Vec3d& start, const Vec3d& end,
std::vector<Intersection>& isects,
unsigned int nodemask = NodeMasks::PICKABLE | NodeMasks::TERRAIN)
This will pick on a per-entity base.
If you need something more special you can use the osg picking functionality.
You can access the scene root with dtEntityOSG::LayerAttachPointSystem::GetSceneGraphRoot().
Cheers,
Martin