Why can't we make the Bitcoin software start the blockchain from the beginning? I"m really wondering: you see 13 gigabytes (current blockchain size) is big enough only because there are all of transactions.

Can Bitcoin developers create such a piece of code which will shrink the size of the blockchain by collecting information of all addresses and representing some kind of inputs without using a Merkle tree, but in "database" style (like 4.5 bitcoins belongs to Alice, 2.3 belongs to Bob, ... ,.. .. and so on)

If blockchain size could be shrinked once in a year, then that would be a great solution.

Why isn't such a model allowable or what is the probability that Bitcoin developers will adopt this kind of protocol?

My solution here implies that everything on Bitcoin goes on the same way, but except for the fact that there will be a blockchain limit like 250 gigabytes for the blockchain - once the network will reach that limit, the network will agree on the last included block of transactions, after which the whole network will switch to a new blockchain file which won't wipe out everybody's bitcoins, but which will just create the genesis blocks based on previous files with all previous inputs belonging to their owner's addresses.

Please don't just say "it won't work".
And how exactly would the network agree on the last included block in order to spawn your new blockchain? That would be kind of complicated.

In my opinion Merkle tree is already fixing the problem. Downloading the headers of each block is enough to verify payments.

Remember that only miners actually need all of the blockchain data. Clients don't.