ChessBase's Fritz (any version less than 10 years old or so) will accept any UCI-compatible chess engine, including Stockfish. You should be able to find a used copy for about $15-20 at most. You don't need to worry about the version, because the functionality of annotating the games has been around a long time, the deciding factor in analysis is the engine, which you're going to replace anyway.
Fritz can process PGN files, but I find it's more helpful to convert the games database to ChessBase's format (.cbh, etc.), so that training questions and the more exotic glyphs that are generated by Fritz from the engine's output can be stored. I haven't tested the impact of file format on processing speed, but I'd expect it to be minimal, as long as your games database to be processed is 1 MM games or less in size.
Regarding speed, a lot depends on your CPU and memory configurations. I use a 1024 MB hashtable, though you can go up to 2048 MB. I also use a quad core AMD Athlon processor running at about 2.9 GHz, and set the engine to use 4 threads. The speed increases pretty linearly with each additional core, so if you have 8, you'll almost double it.
I use Stockfish 7, and set the engine parameters to a depth of 22 or 23 ply, with unlimited time. I've found that the proportion of games where deeper analysis makes a difference to the best move selection is very small (well under 5%), and each additional ply increases the work exponentially, so there's a significant tradeoff in speed for additional depth of analysis. My configuration will process about 15 games per hour (games are about 36 moves long, on average).