Thanks Balaji for the example. It very well supports the option A. But for all practical purposes, I don't think we'll ever need to reacquire the lock on the same object if we already have one. This may be 'legal' in Java but may not be 'appropriate'.
I have just found a text (Chapter 9, page 523) in K&B book which clearly states that a thread is free to call other synchronized methods on the same object, using the lock the thread already has. That means a thread is not actually 'reacquiring' the lock, rather it is 'reusing' the same lock.