I believe the network currently does not enforce that any certain transactions be placed into a block. Miners already have the option to pick and choose which transactions to include according to whatever criteria they wish. All they have to do is modify their software to do so, and it would still be fully within the rules of the bitcoin network. The network only cares that the blocks and transactions are valid, not that the block includes transaction X and transaction Y, etc. I'm not sure it's even possible to enforce that miners include all/certain transactions, since not every node is always aware of every transaction when a block is generated.
What would stop a well funded, bad actor from using a super computer to create blocks with only a few of it's own transactions in it? Someone that wanted to undermine bitcoin? I think it's a very bad idea for the network to not set some criteria regarding transaction inclusion into blocks.
Also, regarding another question (from twobitcoins) about whether there should be free transactions at all: first, I'd say that regardless of fee or no fee, dropped transactions are bad...it opens up a possibility of fraud and it will undermine confidence in the system (see the various postings of people wondering and worrying about what happened to their bitcoins if you doubt that). It is correct that block generation is not free, but people will pay to get transactions into block sooner rather than later and these paying transactions will subsidize the free transactions and free transactions increase the overall value of the bitcoin network.
As for spam transactions, well, there is already a good solution that was proposed years ago to solve the spam dilemma...proof-of-work. If you want to issue a free transaction, the network could require a small proof of work for such transactions. The proof of work required for free transactions could even be linked to the current mining difficulty...the higher the difficulty for mining, the higher the difficulty require for free transactions. There could even be a correlation between the transaction fee and the required difficulty (such that paying a small amount wouldn't eliminate the proof of work, but might let you buy down the difficulty). And, you could even link that required fee to the average number of transactions in recent blocks such that a block containing only proof-of-work free transactions would amount to some total (say 50 btc)...so, for example, if the average number of transactions in recent blocks is 100, the transaction fee required to completely eliminate the proof of work requirement on any individual transaction would be 0.50 btc. If the average number of transactions was only 10, then the fee would be 5 btc/transaction. Clients wouldn't even forward transactions that didn't have the required fee or proof of work. People could even offer services to compute the proof-of-work on behalf of users on less powerful clients (for a fee of course...or it could be a part of some larger account or hosting service that a user purchases).