You are right, programming AVRs is pretty easy. It's just a custom protocol implemented on top of SPI, running at low voltage. SCK is needed.
However, programming older PICs (and non ISP AVR programming) requires high voltages and a different custom protocol. This necessitates a special hardware programmer.
Other devices are more complex. Most ARM microcontrollers must be programmed via JTAG, here memory is being written directly and the processor is instructed to write to the flash. Again, every device is different.
Most small microcontrollers will be capable of doing what you need. You could even ditch the Arduino "wrapper" and use a USB capable micro in it's place.
Microchip, Atmel, TI, ST, etc all have 8, 16, 32-bit uCs of varying RAM/FLASH/EEPROM sizes to pick from. All the modern uCs come with at least UART, SPI, I2C peripherals that can be used for your communications.
There is not a lot in them really, I'd just pick one and see how you like it.
I (currently) use ST's 32-bit ARMs and Microchip 8, 16 ,32-bit PICs.
I'd probably use a few PIC12F or 16Fs for the slave uCs and a PIC18F or PIC24F for the master.
You mention needing ~10kbits of memory (not quite clear what type or which uC needs it from your description to me though)
It's easy to determine what is suitable though, just check the RAM/ROM/EEPROM specs of each uC you look at.
For example the PIC16F1938 has:
Parameter Name Value
Program Memory Type Flash
Program Memory (KB) 28
CPU Speed (MIPS) 8
RAM Bytes 1,024
Data EEPROM (bytes) 256
So 28KB of program memory is more than enough to store non-volatile data if your program is small enough (on the newer PICs you can also read/write to program memory at run time) 10kbits will not quite fit into the RAM though, at 1024 * 8 = 8192 bits.
The 16F1527 has 1536 bytes of RAM though, so you could use this if necessary.
For the master (alternatives to Arduino) there is something like the 18F25J50 or similar, which has a USB 2.0 peripheral. Microchip provide a USB stack an plenty of example firmware to get you started with USB.
If you need something more powerful for the master, have a look at the PIC24 series with up to 256K of Flash and 96K of RAM. Or even the PIC32 which is 32-bit and up to 80MIPS.
The PICKit3 is a low price programmer that will program all the above mentioned PICs, and MPLAB (or MPLABX) is a free IDE for firmware development.
Communication can be done with I2C, which deals with the master/slave configuration and addressing easily. All you have to worry about is sending the data. 7 meters should be no problem with a reasonably quiet environment and the right setup (low value pullups - say 2.2k, low capacitance cable)
Best Answer
Long'ish serial wiring may incidentally suffer from bit errors. How about adding a checksum to every message (data frame) you send, so the receiving end can check that checksum and if it is wrong discard the whole data frame, probably asking for a retransmit.
A simple checksum mechanism can be achieved by EOR'ing all bytes in the frame and sending the resulting byte as checksum. The receiving end should be able to calculate the same checksum.