I considering IOTA for some nodes with very limited resources. In terms of storage and connection to the internet, what is the minimum necessary to have IOTA working in these nodes?
The way I understand it, full nodes store every transaction that they and their neighbors are aware of. From, to, amount, message, tag, trunk/branch transactions, etc. They also store information about wallet addresses, such as balances.
Light nodes don't store much at all. Instead, they use API calls to the full node they are connected to, to get the information you requested. Things like balance, history, addresses.