Push processing and pull processing will change the contrast. That's pretty well known though. There are a whole bunch of different developing chemicals, and they can have an effect on grain. Those are pretty well known too.
Here's something more advanced and less well known:
If you use T-Max 100 film, you will find it is very sensitive to every stage of development and every choice you make. If you use T-Max developer, for example, and use a cool temperature and are very gentle with it, as you are supposed to, it will come out nearly grainless. [link] If, on the other hand, you use D-76 or Rodinol, develop it warm, and savagely agitate the utter hell out of it (like you are trying to make the developer foam up), you will get grain from hell. This was purposely developed for the "grain-from-hell" effect I mentioned: [link] as was this: [link] It helps to choose subjects that have some defined areas of contrast and that look like they would make good pointillist drawings, like this: [link] If you don't know what I mean by that, this is a pointillist drawing: [link] Pointillist drawings are made out of dots.
There has been a trend to use Vitamin-C, instant coffee, and washing soda to develop black and white film. The negatives come out grainier than usual, with a brown cast. It's good for when you can't find any d76 in the neighborhood, and REALLY need to get that film developed.
I've only heard about it, so I can't go into much detail - but I can point you to a lot of info on the subject. [link]
Check out this website. Scroll to the bottom to get to the first post.
Also, sandwich printing is kind of like creating a negative out of a positive print. You develop a normal print, then place it under the enlarger emulsion-side-down, on top of a blank sheet of photo paper. You'll need to do test strips to get the timing right. The light from the enlarger will pass through the white areas on the completed print, to expose the paper underneath - you'll end up with a full-size negative of your positive image.