You can use the Navigation Widget to redirect to a mashup based on a condition.
The Navigation Widget has a Navigation Service that you can trigger with an Event. So let's say you are using a list, you can use the SelectedRowChanged Event to trigger Navigation to the SelectedRowValue (which would be the name of a mashup - at least behind the scenes) which is bound to the Navigation widget. You could also have an action, run a Service that resolves a Mashup Name which is bound to the Navigation widget and on ServiceInvokeComplete trigger Navigation.
You can use relative paths in the link widget i.e.: ../../Folder/File.html