My local store sells grains in any quantity I like.. as far as I know there is no discount for buying in bulk. Plain old two row and six row are the base grains and run .90 per lb and specialty grains (crystal, victory, munich, black patent, carafa, etc.) are 1.50 per lb. The prices are a bit higher than what you get online but I get personalized help and advice, don't pay shipping, and don't have to wait on my order to arrive.
All grain is cheaper but it certainly takes more time. You end up with better beer and have a lot more control over the process.. all this for less money - it's typically the other way around.
Including hops ($1 per oz pellets and $1.50 per oz whole) a 6% abv 5.5 gal batch with a fair amount of specialty malt is $15.. I haven't made an ag batch yet that costs more than $20. The cheapest store made kits the shop put together (grains w/extract) started at $24 or $25 and ranged to upwards of $30.
It is cheaper but I wouldn't go all grain just to save money. It's a step for someone who is serious about brewing and really enjoys the hobby. The batches may be a bit cheaper but you'll need to buy, clean, and store more equipment. Making a batch from grain takes 6 hr start to finish.. sometimes more. Of course you don't have to watch the beer for every second.. I typically do a lot of reading while sparging, mashing, and boiling (after the hot break).
Edit: that cost is including dry yeast.. liquid yeast would up the price of my batches and the kits by about $5.