Is the following a correct logical proof? 
*

*A → (F ∧ P)

*~A → (S ∧ R)

*~R


∴ P


*    assume ~P

*        assume A

*        F ∧ P (1, 5, modus ponens)

*        P (6, simplification)

*    ~A (4, 7, reductio ad absurdum)

*    S ∧ R (2, 8, modus ponens)

*    R (9, simplification)

*P (3, 10, reductio ad absurdum)


The focus for my doubt here is at step 8 where I use the initial assumption at line 4 and the derivation of its negation at line 7 to infer that ~A is in fact the case given the two assumptions. My question is really: am I allowed to use the outer assumption towards negating my inner assumption?
I realize this can also be done by assuming A in the proof and then going from there, I just wanted to make sure this technique is licensed in general.

The OP has the following question:

The focus for my doubt here is at step 8 where I use the initial assumption at line 4 and the derivation of its negation at line 7 to infer that ~A is in fact the case given the two assumptions. My question is really: am I allowed to use the outer assumption towards negating my inner assumption?

Line 4 is outside the subordinate proof starting on line 5. Lines 4 and 7 are contradictory which is what we want. However, one needs to add a new line which shows that contradiction in the subordinate proof. Then one can discharge the assumption $A$ on line 4.  
Line 8 is likely incorrect without that extra line. However, that brings up the next question the OP has:

I realize this can also be done by assuming A in the proof and then going from there, I just wanted to make sure this technique is licensed in general.

One way to verify that a technique is correct is to use a proof checker. Such software will force the user to conform to its format requirements and rule justifications. However, that implementation of natural deduction inference rules need not be the only way those rules could be implemented.
Here is the proof in one proof checker:

Note that line 8 is replaced by a symbol for contradiction (⊥). Some proof checkers may ask that this be entered as P ∧ ¬P.
