Ich habe auch so gut wie keine praktische Erfahrung mit dem ARM, hab mich da seit ein paar Monaten dann und wann eingearbeitet und lege grad erst richtig los.

Zu 1)
Ich arbeite grade viel mit der HAL. Der CubeMX macht einem da den Einstieg relativ einfach. Du kannst dir die komplette Initialisierung per Hand sparen und bekommst sehr schnell einen Überblick, was deine CPU eigentlich alles so kann. Ich komme auch aus der AVR-Ecke und da ist es dann recht befremdlich, auf was man auf einmal alels achten muß. Da muß jeder Scheiß erstmal mit Takt versorgt werden bevor man irgendwas einstellen kann-selbst Ports, sonst kannst du nichtmal eine einfache LED einschalten. und während es für die gesamte IO-Steuerung beim AVR insgesamt gerademal drei popelige Register gibt, kannst du beim STM32 an jedem IO Pullups oder Pulldowns zuschalten, den Pin als Push-Pull-Stufe oder Open-Drain betreiben und die Schaltgeschwindigkeit beeinflussen. Das Einlesen und Ausgeben oder das Benutzen alternativer Funktionen (z.B. ADW) ist da noch gar nicht mit einberechnet.

Soweit ich weiß wird die SPL nicht mehr weitergepflegt. Meines Erachtens macht das aber auch nichts...hat ja keinerlei Nutzen. Letztendlich schreibt man imemr noch direkt in die Register, das Ganze ist bloß als Enumeration getarnt. Der Aufwand hingegen ist derselbe. Dagegen sind in der HAL schon ein paar Extra-Funktionen drin. Ich werde künftig wohl zweigleisig fahren: Einerseits Hal, andererseits Register direkt beschreiben. Ersteres hauptsächlich, um Arbeit auf den CubeMX abwälzen zu können. Letzteres weil ich gerne verstehe, was ich da eigentlich mache.

Zu 2)
Die weißen Nucleoboards haben auf einer Seite eine Stiftleiste (ich glaub 5-polig), da ist die SWD-Schnittstelle rausgeführt. Wenn du den Controller auf dem Board abschaltest (Jumper ziehen), könnte es klappen daß du damit auch externe Sachen programmieren kannst.
Andererseits, ganz ehrlich...einen Adapter für den 20-poligen Stecker zu schnitzen ist doch auch nicht so schwer.

Ich selber arbeite aber mit dem J-Link. kostet in der Edu-Version nur 40 Euro, und funktioniert mit dem Embedded Studio recht gut. Und im Hersteller-Forum findet man auch gute Hilfe, wenn etwas nicht geht.