Since I was shopping around for an M3, I was looking at the possibility of adding nav to a car if everything else was ok...
Weeks of research showed that yes, it *is* possible to add nav to a non-nav car, but it requires extensive modifications to your car (part of which is gutting 65% of your interior). Theres modifications to the center console of course, redirecting the air conditioner to the bottom cubby hole, modifying the trunk liner, installing the GPS antenna, installing the GPS computer, tons of wiring harnesses, etc. The FULL list of parts will run you AT LEAST around $2500 - $3000.
Its not possible for you to do the entire installation yourself. You'll need to go to the dealer to code everything correctly.
Lucky for me, I ended up finding an M3 with nav