Shape
and its derived classes are resources. Resources can be shared, so you can assign it to multiple CollisionShape
nodes (i.e share it). You will need to create it only once and reduce memory usage, but it will cause twice as much processing in any case (just like it will if you have 10 nodes with the same shape).
I'm not sure what you expect to do in this situation, because if you have an Area and a Body with the same shape, in the same position and same collision masks/layers, they will basically trigger the same events at the same time redundantly, and will indeed be a waste. Better just listen to events from the body and not use an area (if they are configured the same).