Not sure about not gaining honor or prestige from the attack. I note that you didn't mention experience. What's the purpose?

Disagree on ticking the box. To make if fair for inexperienced players - limit the NPCS which can attack them. Instead of by building levels (which can be up to max on any but Historic Cities within a few minutes of starting the game for the big coiners) make the limit by rank. So the lower ranked players could only be attacked by lower level NPC's.

Speaking of the farming issue - Evony has stated that the intent behind NPC's wasn't to be farmed. In my opinion,, that means the only reason resources are in there is to offset troop loss while you conquer the city. (more in this vein in a second).

Limited attacks to online status. Unless this is married to a system which only lets other players attack you online, it's going to do little for inexperienced players. Let the NPC's attack you while offline. I'd go with the AgeII system - you get thirty minutes warning - with a small percentage of the NPC's being allowed to Wage War Without Declaration.

To combine Evony's intention of non-farming NPC's - this would be the only time I'd allow any attacks against an NPC - and in addition to checking a box to attack them - after they've declared, I'd also add one of those boxes most games do when you register. You know - the one with squiggly numbers and letters for you to input - which makes it much more difficult for a computer to match on it's own.

As I said above, limiting it by rank will work better than by building. At least until you get to the upper ranks. Then I think you'd need to take other factors into consideration - such as Hero statistics and gear. This wouldn't affect the number of barbarians - but instead affect the number of waves, along with the composition. To go along, you'd also need to change the composition of troops in an npc level 10 city - to keep up a credible threat level.