Q:

Ways for limiting the growth of full node size?

As revealed on my previous question about smart contract saving for future, the way for getting back to old information stored to blockchain was to contact a full node, which contains all the information so far in the blockchain.
To mitigate the growing amount of data in the full nodes and to reduce the level of needed capacity for starting up a new full node, are there any plans to divide the blockchain to smaller parts or in any other way to handle the cost of maintaining the huge amount of data in a full node?
I think the full nodes would stay in hands of limited amount of people / corporations if the size and thus the cost of maintaining a full node becomes more and more database size driven.

A:

In the future there will be two types of fullnodes.
Archival Nodes
These nodes store all historic state on disk and they will grow over time.
Normal Nodes
These nodes won't store all historic state, but will rather prune some of it. This is being implemented by adding a GC (garbage collector) that collects and removes old state from the database. You can follow the progress here.
This differentiation between archival and non-archival nodes is standard in most implementations of Bitcoin and Ethereum.
Another potential option is to add something akin to sharding in order to reduce the amount of state that a single client has to track. However this is much more of a research topic. 

A:

The Tezos foundation has awared a grant to prof Emin Gün Sirer group at Cornell for developing sharding solution for tezos. Quoting the announcement:

Sharding is a potential scaling solution whereby parts of a
  blockchain’s state are split among validator sets so that each set
  only has to validate a subset of the transactions in a network.
  Following its research, the Cornell team will develop protocols that
  may be applied to Tezos.

You can find general information about sharding available here

