Hi Rahul,
I had also worked on a request like that earlier. One option is to include custom field for Purchasing Unit in Account object.
Another option which I liked more is to prepare a custom nametable class and instead of modifying Account object. We can play with it's uniquename. We can just set UniqueName as a combination of Account UniqueKey and Purchasing Unit seperated with a delimiter like 10000:PU1 (separated with semicolon). In custom nametable class, we can just take last substring from the uniquename to extract Purchasing Unit and then result in only for the required accounts based on purchasing unit (or may simple query for where UniqueName like "%:" + pu, where pu is the purchasing unit). I think it would be simple to implement and doesn't need to modify Account object.
Amit