Measure 3-D length using smart-phone's accelerometer I'm wondering if we can measure 3-D length only by our smart-phone's accelerometer. And we all know these low cost IMUs are not accurate.

You can model accelerometer's error this way:
$$ a = f*a' + g + b + \eta $$

where $a$ is the actual acceleration, $f$ is a 3x3 matrix modeling scaling, misalignments, cross-axis and ... errors. $g$ is gravity, $b$ is bias and $\eta$ is noise.

I'v found a good method to calibrate(compute $f$ and $b$) smart-phone's accelerometer:
Estimate smartphone accelerometer bias

Now I have to:

1) remove $g$

2) remove $\eta$

How can I do that accurately? As I mentioned above, this problem requires good accuracy.

If you believe accelerometers are not accurate enough for this problem, and other sensors should be used (Sensor Fusion), please share your idea.
Your model may be misleading, as bias and noise (including non-linearity and quantization noise) get double integrated, thus error increases quadratically and without bound over time.