I've been wondering where on the node the IDs of transactions are kept.
There is no need to keep the transaction ID of the transactions that have had all of their outputs spent. They can be recreated at any time by simply hashing the transaction data. Unspent transaction outputs are stored by each node in its own mempool.
Or Are they stored on blocks?
The transaction data (version, inputs, outputs, locktime, etc) are stored in the blocks. The transaction ID can be quickly and easily calculated for any transaction by simply hashing the data.
Could someone help me explain better what transaction processor is and what part of the transaction the transaction processors actually create?
What do you mean by "processor"?
Every node verifies the validity of every transaction it receives and then forwards that transaction to the peers it is connected to. It doesn't create or modify the contents of the transaction.
Solo miners (and mining pools) gather transactions together into a block, create a set of data (called a header) to identify that collection, and then complete a proof-of-work on that header. They then broadcast the completed block to all their connected peers. They CREATE blocks, but they don't create or modify transactions at all.
Users of bitcoin run wallet software that creates transactions based on the details that they provide to that wallet software (address, value, possibly source of funds). The wallet software builds the transaction and provides the neccessary digital signatures, then it sends copies of the transaction to all connected peers.
Service providers store bitcoin on behalf of their customers. They run their own wallet software and create transactions using that wallet software when their customers ask them to. They can also monitor the blockchain and the network communications to notify their customers when they receive new transactions on behalf of their customers.