List items of a certain content type in another content type
A general out line is given below,


Create a content type for country, add your available
countries with images and description
Create a destination content type, with necessary fields like
image,description etc: (If you want process booking with payment, use
Ubercart and create a product class Destination, modify the required 
fields)
Add a country field to destination contenttype of 'fieldtype' - Node Reference, choose widget as select list. This allows choose country on creation of a new destination
Use Views to list the destinations page, by selecting necessary fields,
Use views to create the list of related destinations based on the
country name and save it as a block. So based on the country
selection the destinations can be list in this block
If you are using online payment for booking use ubercart, otherwise
on booking you can send an enquiry to admin.


Hope you got an idea on how to proceed.

UPDATE
To get list of the destinations on clicking the country do the following


In your destination listing view, Add a 'Contextual filters'(
Arguments in D6) and choose the 'country nodereference field'.
In your four country listing view, in fields choose Nid (Nid)  also
and choose 'Exclude from display ' option for that field.
Then in the 'Country name field' - click 'Rewrite results' and choose
'Output this field as a link' checkbox. In link path give path like
below
eg: destinations/[nid]  ie: where destinations is the path of the
your destination page and [nid] is the token for the node id.
Probably you have to just change 'destinations' only with your path.


Thats it, now on clicking the country it will goto destinations page which shows all destinations belongs to the particular country