Matt's right, softwood is inherently blotchy. There isn't a cheap and simple solution, but you can at least improve matters by sanding through to much finer grits than you normally would, in my experience (on similarly problematic hardwoods like Cherry rather than softwoods) you have to go to at least 400 grit before it makes a difference, and 600 grit is better still. You won't cure the problem, but you'll certainly take a noticeable step in the right direction.
As to the choice of dye, a water based aniline dye is probably your best bet, the only downside is that aniline colours aren't very light fast, but if you don't display it in direct sunlight you'll be okay. Don't be misled by spirit dyes claiming to be lightfast, they offer a minuscule advantage over water based in terms of fade resistance, but are many, many times harder to apply well because the wet edge dries almost instantly.
One final point, you'll never get a dye to penetrate more than about 1/2 mill below the surface. Even sophisticated procedures like dying in a vacuum bag won't give you an even and deep penetration. They deliver a deeper, but super blotchy penetration. So make the component then dye afterwards.
Good luck!