So a string of questions now because I don't exactly understand how nodes work.
So are nodes or miners responsible for determining what transactions get into a block? Are miners selectively taking tranx from a mempool, or are they randomly taking tranx from a mempool? (And if there is not only one mempool, but a separate mempool by every node, do all miners have access to all nodes to pull from?) What determines what tranx go to which nodes? Will a transaction be in more than one node's mempool at a time?
Lastly, do node operators receive fees for running a node? Otherwise, what does it matter to them to set a certain threshold for fees/byte to include to get into their mempool?
Don't worry, a lot of members are always happy to answer questions... Everybody needs to learn, i learn new things about BTC every day,for example, i try to read the post history of achow101 and DannyHamilton to learn new things.
About your questions:
A node is basically somebody running a client that downloaded the full blockchain. A node is connected to other nodes and clients.
When a miner finds a new block, he sends it to the people he's connected to (the nodes). A node then usually relies the block to his own connections, thus spreading and storing the information over the network. A node usually verifies if block is correct and rejects it if it's not. Blocks are sequential, so every node needs to download the blocks from his peers in a sequential manner. He has to have all the blocks in the correct order, if not he is unable to verify the latest block.
About transactions: When you create a transaction, you broadcast it to the people you're connected to. They either accept the transaction or they reject it. When they accept the transaction, they usually send it to their peers.
Now, unlike blocks, transactions are not sequential. They do not carry a timestamp. A node is not forced to accept all transactions, he's free to build up his own mempool of transactions any way he wishes. An unconfirmed transaction is just stored in the memory of a subset of the nodes, as long as it's not included in a block, there is no certainty it will ever become part of the blockchain. That's why you should never trust 0-confirmation transactions.
A node also has an UTXO set. This is a database containing all unspent outputs. A transaction can only use these outputs to use as an input. If a transaction uses inputs that are not in the UTXO, it is normally rejected, but a node can also reject transactions because the fee is insufficient, because he doesn't like you, because he has a bad hair day,... If a new block is found and verified by a node, this node now removes the outputs that were used as inputs for the transactions in the valid block from his UTXO set.
A miner does the same thing: he has a client installed that builds up a mempool of unconfirmed transactions and an UTXO set. Since a miner is allowed to keep the difference between the sum of the values of the inputs, and the sum of the values of the outputs for all transactions in the block he's working as a fee in case he solves the block, it is wise of him to fill the block he's currently working on with transactions with the highest fee (in satoshi's/byte).
However, since he's completely free do add any valid transaction to his block, he can also add transactions with lower fees because of "reasons". It might not be wise, since he's missing out on the biggest fees, hence, losing money.
The "reasons" for adding transactions with lower fees could be: out of the goodness of his heart, because he got payed to do so, because it was a high priority transaction, because he doesn't care,...
Now for your last question: there used to be a private initiative to pay node operators, but i was to late to enter
In reality, you get nothing for running a node, exept the feeling that you're supporting the network by verifying the blocks and transactions, and by sharing the information to everybody you're connected to.
For business owners, it might also be usefull to run your own node, since the reference client usually used to run a node has a full feature set of coin controll options, statistics,... And you're directly connected to a lot of peers, so it's a fast way to broadcast blocks or transactions.