I have suet feeders that I stuff full of dark, leafy greens, chunks of squash, etc. I then hang them just at head level so they have to work to get the goodies out. It's nutritious, and gives them something to do. You can also put milk crates in their run, and move them around every day so it's like something new for them to play on. I also have "chicken tress" - take 3 large limbs from a tree and put them into a teepee shape - screw limbs on horizontally to make perches. I used old tires on the inside of the 3 limbs and screwed the tires to the limbs. Gives them something to hop up onto, and they like to peck at the bugs that crawl on the wood.
Purina makes an item called a "flock block" which is a fun thing for them - it's seeds, grit, and oyster shell all smashed togetehr into a large and heavy flock. They peck at it to get the goodies out. Don't set it out in the rain, though. My one coop is up on stilts, so I put it under there so it doens't get wet. For coops that do not have an area out of the elements, I will put the block into a metal feed pan and put it inside the coop itself. This way, the pan catches the pieces they peck off that fall down.
Mine like pumpkins, squash, corn, and other veggies. I will put in a chuncked-up pumpkin and they spend all kind of time on it. I also scatter their scratch in the straw in the run, they have to pick and scratch around to find it.
I have found that if you don't free range them they do tend to get pretty bored. To that end, when mine are to be penned for an extended period of time, I give them them like a head of cabbage or loaf of homemade bread - something they can pick apart. Also spreading some straw or hay they can dig and scratch around in seems to occupy their time.
If you can find a bread that contains a lot of seed/nut or grains in it that are whole it works great as a treat. I hang a few slices from strings and place them so they are just above eye level for the chickens. It encourages them to forage for food.