I wanted to pull programs in marketo in an on going basis, meaning whenever a program gets modified i should be able to pull that change only and not pull all the programs every time.Any pointers how to do this.

This is not possible. Really not, neither in the UI, nor through the API, as many objects cannot be manipulated yet through the PAI (e.g. landing pages or smart campaigns).

That would be extremely complex to do, since you would have to drill down to each component of the program to check whether or not it has been modified. You can enter the idea, it's interesting, though :-)