On the first point, you only need to do it once and then you can reuse the information in future (assuming you stick to the same recipe).
For the other points, I think with any kind of data measurement there is a balance between precision and convenience. Trying to consistently track calories is hard enough, trying to track nutrients at the level of precision you are suggesting sounds technically challenging and frankly exhausting. I think a lot of people will take "average" values for a cucumber, an onion, etc. Like others have said, consistency in measurement is probably more important than finding the absolute truth.