For example the process of spell making. My guess is, what your area of effect cost re-calculation is doing is to you redirect the original function call to a customized version of your own. In this new function you find the values you need in the memory where the engine normally puts those actor values and use them to calculate the cost of a spell using your own formula. The return value is placed at the same spot where the engine would have expected it to appear after calling the original function.
This is exactly what happens for the least complex patches. Sometimes the target mechanic is copied and pasted across several functions that do similar work, so you need to identify every copy and update it. Towards the harder end of things, your change will cause side effects in three other places which require additions to handle the new cases you added to the gameplay.
Your intended changes already have parallel features that decouple effects from spells (cast cost fixed at spell creation, and the weakness/resist effect fixes spell magnitude on hit). I do note there is a http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=7807 out there already.
You should know assembler and common idioms and object lifetime behaviour of C++. As for tools, I use IDA Pro for disassembly and labelling the code, nasm for assembling new code, and a hex editor for searching for data and editing asm/data. There is no public documentation on how the data structures are laid out, because the effort of clearly communicating everything for a tiny audience is several times more work than making the patch. There is minimal data about in-game structures in http://mwse.svn.sourceforge.net/viewvc/mwse/trunk/MWSE/mwseTypes.h?revision=236&view=markup and in the http://planetelderscrolls.gamespy.com/View.php?view=utilities.detail&id=51. In general, the gameplay-specific data structures have a four character identifier at the start of the object e.g. 'MACP' for the player. This helps you identify objects on the stack frame.
Most of your time will be spent anolyzing functions in IDA to identify data and checking behaviour is correct under all situations. Examine the diff for the sepllmaker area effect cost as a starting point, and to see the multiple patches required for a single mechanic.