There are a few ways you could hook in to event notifications when an activity is added to your workflow.
The first one is listening to the TextChanged event on the WorkflowDesigner class (Beta1) or I think there is going to be a ModelChanged event (in Beta2), which is more reliable. This is a notification that something has changed in your workflow. Not anything in particular, just something, but you could use this as a trigger to traverse your workflow and look for new, unconfigured activities.
A second possibility is taking advantage of the fact that each ModelItem (which is the design-time wrapper for an activity) implements INotifyPropertyChanged. Instead of listening for changes in the whole workflow, you could listen for changes on specific properties, such as the 'Body' of a While activity - then when the property gets initialized to hold a new activity, respond to the change.
A third possibility is that the activity you are interesting in has a custom designer (which you write) - and it sounds like this scenario matches what you are thinking of. Here you can fully customize the appearance of your activities. The custom designer is really just a WPF control. You can use the same events and databinding and validation techniques that apply when designing a WPF application, or respond to normal WPF events. You can certainly pop up dialogs if you wish to.
As for being stored in XAML files, of course custom activities are saved in XAML files along with all their configured properties - just like regular activities. When you want to load the XAML file again, you do need to provide context information about the assemblies holding the activities referenced by the XAML file. In VS this is as easy as adding assembly references, in rehosting scenario you would write a little code to do this.
You might like to find more about this or ask similar questions on the .NET Framework 4: Workflow Foundation - Beta 1 Forum