Found a solution, and thought i would post the answer, in case anyone else needs this functionality.

Firstly, i added this VBScript code to change the message class if the class changed during completion:

Sub Item_PropertyChange(ByVal Name)
    Select Case Name
        Case "MessageClass"
        Item.MessageClass = "IPM.Note.<form name>" 
    End Select
End Sub


Secondly, on the edit compose page, i used this code for the browse button, to complete the textbox with the full filepath:

sub cmdBrowse1_Click
    Set objDialog = CreateObject("UserAccounts.CommonDialog") 
    objDialog.Filter = "All Files|*.*"
    objDialog.FilterIndex = 1 
    intResult = objDialog.ShowOpen 
    If intResult = 0 Then 
        exit sub 
    Else 
        Item.UserProperties.Find("txtBrowse1").Value = "file:\\" & objDialog.FileName
    End If 
end sub


I used a button named cmdBrowse1 with a textbox named txtBrowse1 with a user-defined field name of txtBrowse1 also.

...and lastly, on the read page, i used this code:

sub cmdBrowse1g_Click
    dim objShell
    set objShell = CreateObject("Shell.Application") 
    MyValue = Item.UserProperties("txtBrowse1") 
    str = MyValue
    objShell.ShellExecute str, "", "", "open", 1 
    set objShell = nothing
end sub


...on a button named cmdBrowse1g to open the document file path contained in the textbox txtBrowse1.

Hope this may be of help to someone else.

BR
Neil