SO i could just send the bitcoins to myself and that would defrag my bitcoins as well?
It would, but the way the current software works, it doesn't delete old transactions. So while yes they would be defragmented, every node on the entire network would also have the old fragmented copy as well.
I will bet soon enough there will be a client that can ignore or discard old transactions, because the growth of the block chain and every user having to download it is going to be unsustainable. But for now, it will have no practical benefit.