For 1, At the end of the day, most of the common "arduino" boards are just an AVR microcontroller loaded with a bootloader, the arduino functions would be called "macros" in straight C or C++, just a block of code that you pass arguments to, and it passes back,
As such, for popping your own micro on your own PCB, pull up that arduino's schematic, search for "X model Barebones" to find out how little you can get away with, and refer to the datsheet for that micro if something is unclear (being able to read from the datasheet of the micro would be the fastest way to step away from the arduino macros).
If you meet those hardware requirements, then it looks more professional than a shield, and should work to the same performance,
2. The fastest way i could recommend would be pull up the datasheet for the device you have, and try and write in the arduino IDE some of the basic examples without using any of the macro's, e.g. flashing an led on a pin without digital.write, or more challenging, reading from an ADC without using analog.read, and so on, if you can do the same just by setting the registers in the micro itself, you will have the foundation to stop using the macros they have built,
After you have that foundation, and understand that without those macros things might be a bit harder initially, then i would say try to jump to another IDE, i cannot say which one is better,
3. Hoping to hear that answered for myself, coming from a high school course on VB6 has made the transition pretty steep.