What you've got there is about the best. Number would update every time XL calculated. To make it "live", XL would need to re-calculate every second, which is a waste of CPU power. The other idea would be to make a macro that runs on a continuous loop, updating the time, but again, why do that? Macro would stop running when user makes any change to a cell.
Code:
Sub MakeClock()
Do
[a1] = Now
DoEvents
Loop
End Sub